Batch recup nombres d'un .txt dans variables.

Batch recup nombres d'un .txt dans variables. - Shell/Batch - Programmation

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  :D )
 
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....

Reply

Marsh Posté le 05-05-2014 à 11:58:59   

Reply

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.

Reply

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^^

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed