Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[Résolu] Batch qui copie des lignes au hasard d'un txt
Auteur Message
Répondre en citant
Message [Résolu] Batch qui copie des lignes au hasard d'un txt 
Bonjour,

Est-il possible de créer un batch qui copie quelques lignes au hasard d'un fichier texte et qui les colle dans un autre fichier texte ?

Le batch va copier 20 lignes au hasard de QuiContientToutLeTexte.txt (il comporte 240 lignes) puis va les copier dans ParagrapheAleatoire.txt.


C'est possible ou pas ? Rolling Eyes

Merci Wink



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [Résolu] Batch qui copie des lignes au hasard d'un txt 
hello!

voici un batch qui devrait te convenir:

Code:
:: Copie aléatoire de lignes ^| Code by darkbatcher
@ECHO OFF
SETLOCAL EnableDelayedExpansion
IF EXIST ParagrapheAleatoire.txt DEL ParagrapheAleatoire.txt
FOR /l %%A IN (1,1,20) DO (
call :LNCOPY
)
:LNCOPY
set /a lnNumber=%random%%%240
FOR /f "tokens=* skip=!%lnNumber%" %%B IN (QuiContientToutLeTexte.txt) DO (
ECHO %%B >> ParagrapheAleatoire.txt
GOTO NEXT
)
:NEXT
GOTO:EOF


bonne journée



Dernière édition par Darkbatcher le Ven 12 Nov 2010 - 19:01; édité 1 fois

______________________________________________________
--
> Que pensez vous de l'ajout du repertoire point dans $PATH ?
Ma version de troll 18.0.32 beta 3 vient de me faire un core dump.
-+- SE in Guide du Linuxien Pervers : Bien développer son troll -+-

[Dos9]
Visiter le site web du posteur Skype
Répondre en citant
Message [Résolu] Batch qui copie des lignes au hasard d'un txt 
Merci mais le batch ne fonctionne pas. Il se referme quand je l'ouvre :/

EDIT : J'ai créé un code qui fonctionne mais je pense qu'il n'est pas écrit proprement.

Code:
@echo off
Title Creation du .txt aleatoire...

:debut
REM set /p nombreDeFichiers=Entrez le nombres de fichiers que vous voulez creer :
REM if "%ChoixMenu%" LEQ 150 (goto debut)

:creationDuFichier

set /a nombreLigne01=(%random%%%239)+1
set /a nombreLigne02=(%random%%%239)+1
set /a nombreLigne03=(%random%%%239)+1
set /a nombreLigne04=(%random%%%239)+1
set /a nombreLigne05=(%random%%%239)+1
set /a nombreLigne06=(%random%%%239)+1
set /a nombreLigne07=(%random%%%239)+1
set /a nombreLigne08=(%random%%%239)+1
set /a nombreLigne09=(%random%%%239)+1
set /a nombreLigne10=(%random%%%239)+1

for /f "delims=" %%a in ('more/e +%%nombreLigne01%% ^< QuiContientToutLeTexte.txt') do (
if not defined ligne01 set "ligne01=%%a")
for /f "delims=" %%a in ('more/e +%%nombreLigne02%% ^< QuiContientToutLeTexte.txt') do (
if not defined ligne02 set "ligne02=%%a")
for /f "delims=" %%a in ('more/e +%%nombreLigne03%% ^< QuiContientToutLeTexte.txt') do (
if not defined ligne03 set "ligne03=%%a")
for /f "delims=" %%a in ('more/e +%%nombreLigne04%% ^< QuiContientToutLeTexte.txt') do (
if not defined ligne04 set "ligne04=%%a")
for /f "delims=" %%a in ('more/e +%%nombreLigne05%% ^< QuiContientToutLeTexte.txt') do (
if not defined ligne05 set "ligne05=%%a")
for /f "delims=" %%a in ('more/e +%%nombreLigne06%% ^< QuiContientToutLeTexte.txt') do (
if not defined ligne06 set "ligne06=%%a")
for /f "delims=" %%a in ('more/e +%%nombreLigne07%% ^< QuiContientToutLeTexte.txt') do (
if not defined ligne07 set "ligne07=%%a")
for /f "delims=" %%a in ('more/e +%%nombreLigne08%% ^< QuiContientToutLeTexte.txt') do (
if not defined ligne08 set "ligne08=%%a")
for /f "delims=" %%a in ('more/e +%%nombreLigne09%% ^< QuiContientToutLeTexte.txt') do (
if not defined ligne09 set "ligne09=%%a")
for /f "delims=" %%a in ('more/e +%%nombreLigne10%% ^< QuiContientToutLeTexte.txt') do (
if not defined ligne10 set "ligne10=%%a")

echo %ligne01% >> ParagrapheAleatoire.txt
echo %ligne02% >> ParagrapheAleatoire.txt
echo %ligne03% >> ParagrapheAleatoire.txt
echo %ligne04% >> ParagrapheAleatoire.txt
echo %ligne05% >> ParagrapheAleatoire.txt
echo %ligne06% >> ParagrapheAleatoire.txt
echo %ligne07% >> ParagrapheAleatoire.txt
echo %ligne08% >> ParagrapheAleatoire.txt
echo %ligne09% >> ParagrapheAleatoire.txt
echo %ligne10% >> ParagrapheAleatoire.txt

pause

exit


Y a t-il une façon de l'écrire plus proprement ?



Répondre en citant
Message [Résolu] Batch qui copie des lignes au hasard d'un txt 
Arrrrrghhh .... Confused
--OUI--

Je te fais ça cet aprèm ...

@+




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message [Résolu] Batch qui copie des lignes au hasard d'un txt 
Re,

Voici mon code, il fonctionne chez toi ?

@+

Code:

@echo off

SETLOCAL ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS

set FILE=QuiContientToutLeTexte.txt
set NEW=ParagrapheAleatoire.txt

for /f "tokens=*" %%$ in ('type %FILE%') do (
    set /a COUNT+=1
    set LINE_!COUNT!=%%$
    )

for /l %%§ in (1,1,20) do (
    call :RAND
    for /f "tokens=1,* delims==" %%A in ('set ^| Find "LINE_!SELECT!"') do (
        echo %%B >> %NEW%
        )
   )

exit

:RAND
set /a NBR=%RANDOM%%%239
set /a SELECT=NBR+1
goto :EOF





______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message [Résolu] Batch qui copie des lignes au hasard d'un txt 
Merci ça marche nikel !!!

Merci de ton aide Smile



Répondre en citant
Message [Résolu] Batch qui copie des lignes au hasard d'un txt 
Re,

Pas de quoi Wink
N'oublis pas de noter [RESOLU] sur le sujet ^^

@+ bye




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Message [Résolu] Batch qui copie des lignes au hasard d'un txt 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch