Batch recup nombres d'un .txt dans variables. - Shell/Batch - Programmation
Marsh Posté le 05-05-2014 à 13:51:06
Non la solution "delims=:" n'est pas adapter a mon problème, je cherche une autre piste.
Marsh Posté le 06-05-2014 à 22:56:00
j'aie fait ce script ça répond a mon besoin. c'est pas élégant .
for /f "tokens=1,* delims=:" %%i in ('findstr /n /r . "%temp%result_source1.txt"') do echo %%j>%temp%rp1_lign%%i.txt
FOR /F "tokens=1,2,3,4,5,6 delims= " %%a in (%temp%rp1_lign1.txt) do (echo %%d)>%temp%rp1_chif1.txt
FOR /F "tokens=1,2,3,4,5,6 delims= " %%a in (%temp%rp1_lign2.txt) do (echo %%e)>%temp%rp1_chif2.txt
FOR /F "tokens=1,2,3,4,5,6 delims= " %%a in (%temp%rp1_lign3.txt) do (echo %%d)>%temp%rp1_chif3.txt
FOR /F "tokens=1,2,3,4,5,6 delims= " %%a in (%temp%rp1_lign4.txt) do (echo %%e)>%temp%rp1_chif4.txt
FOR /F "tokens=1,2,3,4,5,6 delims= " %%a in (%temp%rp1_lign5.txt) do (echo %%c)>%temp%rp1_chif5.txt
FOR /F "tokens=1,2,3,4,5,6 delims= " %%a in (%temp%rp1_lign6.txt) do (echo %%c)>%temp%rp1_chif6.txt
FOR /F "tokens=1,2,3,4,5,6 delims= " %%a in (%temp%rp1_lign7.txt) do (echo %%d)>%temp%rp1_chif7.txt
FOR /F "tokens=1,2,3,4,5,6 delims= " %%a in (%temp%rp1_lign8.txt) do (echo %%e)>%temp%rp1_chif8.txt
FOR /F "tokens=1,2,3,4,5,6 delims= " %%a in (%temp%rp1_lign9.txt) do (echo %%e)>%temp%rp1_chif9.txt
FOR /F "tokens=1,2,3,4,5,6 delims= " %%a in (%temp%rp1_lign10.txt) do (echo %%d)>%temp%rp1_chif10.txt
FOR /F "tokens=1,2,3,4,5,6 delims= " %%a in (%temp%rp1_lign11.txt) do (echo %%d)>%temp%rp1_chif11.txt
FOR /F "tokens=1,2,3,4,5,6 delims= " %%a in (%temp%rp1_lign13.txt) do (echo %%b)>%temp%rp1_chif12.txt
FOR /F "tokens=1,2,3,4,5,6 delims= " %%a in (%temp%rp1_lign13.txt) do (echo %%e)>%temp%rp1_chif13.txt
FOR /F "tokens=1,2,3,4,5,6,7,8 delims= " %%a in (%temp%rp1_lign13.txt) do (echo %%g)>%temp%rp1_chif14.txt
FOR /F "tokens=1,2,3,4,5,6 delims= " %%a in (%temp%rp1_lign14.txt) do (echo %%d)>%temp%rp1_chif15.txt
FOR /F "tokens=1,2,3,4,5,6,7 delims= " %%a in (%temp%rp1_lign13.txt) do (echo %%g)>%temp%rp1_chif16.txt
set /p Rp1V1= <%temp%rp1_chif1.txt
set /p Rp1V2= <%temp%rp1_chif2.txt
set /p Rp1V3= <%temp%rp1_chif3.txt
set /p Rp1V4= <%temp%rp1_chif4.txt
set /p Rp1V5= <%temp%rp1_chif5.txt
set /p Rp1V6= <%temp%rp1_chif6.txt
set /p Rp1V7= <%temp%rp1_chif7.txt
set /p Rp1V8= <%temp%rp1_chif8.txt
set /p Rp1V9= <%temp%rp1_chif9.txt
set /p Rp1V10= <%temp%rp1_chif10.txt
set /p Rp1V11= <%temp%rp1_chif11.txt
set /p Rp1V12= <%temp%rp1_chif12.txt
set /p Rp1V13= <%temp%rp1_chif13.txt
set /p Rp1V14= <%temp%rp1_chif14.txt
set /p Rp1V15= <%temp%rp1_chif15.txt
set /p Rp1V16= <%temp%rp1_chif16.txt
a simplifier^^
Marsh Posté le 05-05-2014 à 11:58:59
Bonjour à tous,
je fait un script de sauvegarde Rsync (Windows) et je voudrais avoir un rapport d'exécution a la fin de celui-ci.
voici comment ce présente la chose:
Donc j'ai trois répertoires qui ce synchronise avec Rsync, Rep1, Rep2, Rep3.
Code:
rsync -azq --stats --delete --force --ignore errors --exclude from =rsync.exclude --chmod=ugo=rwX /cygdrive/w/Rep1 rsync::Cible/Rep1/ >>%log1%
rsync -azq --stats --delete --force --ignore-errors --exclude-from=rsync.exclude --chmod=ugo=rwX /cygdrive/w/Rep2 rsync::Cible/Rep2/ >>%log2%
rsync -azq --stats --delete --force --ignore-errors --exclude-from=rsync.Exclude-chmod=Ugo=Rwx /cygdrive/w/Rep3 rsync:: Cible/Rep3/ >>%log3%
Pour chaque rapport (%logX%) j’obtiens:
Number of files: 27
Number of files transferred: 26
Total file size: 71886 bytes
Total transferred file size: 71886 bytes
Literal data: 71886 bytes
Matched data: 0 bytes
File list size: 1564
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 15401
Total bytes received: 598
sent 15401 bytes received 598 bytes 10666.00 bytes/sec
total size is 71886 speedup is 4.49
---------------------------------
Donc l'idée est d'avoir à la fin de l'exécution de mon script un seul fichier log contenant un rapport (comme le %log% présenter précédemment) et un final pour l'exécution des trois rsync.
pour cela il faut que je puisse récupéré les chiffres lignes par ligne de mes %logX% pour le calculer.
J'aie beaucoup chercher et rien trouver.
Pour l'instant j'en suis là:
(Il faut bien partir de parquepart )
Code:
FOR /F "tokens=1,2 delims=:" %%i in (%log1%) do (echo %%j)
Result:
27
26
71886 bytes
71886 bytes
71886 bytes
0 bytes
1564
0.001 seconds
0.000 seconds
15401
598
Commande ECHO d‚sactiv‚e.
Commande ECHO d‚sactiv‚e.
-----------------------------
Si vous avez des pistes....