Script batch incorrect :(
brucine Messages postés 23023 Statut Membre -
Bonjour à tous,
Voici un petit fichier .bat qui m'expose la taille de 2 dossiers, (chacun des 2 dossiers comporte plusieurs sous dossiers et fichiers).
Jusque là, tout fonctionne, il m'affiche un 1er résultat en octets, et un second avec séparateurs de milliers.
C'est lorsque je cherche à calculer la différence de taille entre ces dossiers que ça ne va plus. Le résultat est toujours 0...
L'objectif :
* calculer la différence de taille dossier source/cible (ligne : set /a diff=size1-size2)
* afficher le résultat en octets de :taille fichier source - taille fichier cible
* si égalité (taille =0) , afficher message de type "Operation OK", sinon, afficher "Erreur"
@echo off
setlocal enabledelayedexpansion
set "target1=C:\Users\bibi\AppData\Roaming\Thunderbird\Profiles\rdwdst72.default-release"
if not defined target1 set "target1=%cd%"
set "size1=0"
for /f "tokens=3,5" %%a in ('
dir /a /s /w /-c "%target1%"
^| findstr /b /l /c:" "
') do if "%%b"=="" set "size1=%%a"
echo; Taille source (C:) : %size1% octets
set "target2=D:\bibi\Pro\Documents\Sauvegardes_pro\Mails_thunderbird\rdwdst72.default-release"
if not defined target2 set "target2=%cd%"
set "size2=0"
for /f "tokens=3,5" %%a in ('
dir /a /s /w /-c "%target2%"
^| findstr /b /l /c:" "
') do if "%%b"=="" set "size2=%%a"
echo; Taille destination (D:) : %size2% octets
set /a diff=size1-size2
set "folder3=C:\Users\bibi\AppData\Roaming\Thunderbird\Profiles\rdwdst72.default-release"
set "folder4=D:\bibi\Pro\Documents\Sauvegardes_pro\Mails_thunderbird\rdwdst72.default-release
set "size3=0"
set "size4=0"
for /f "tokens=3" %%i in ('dir /s /a "%folder3%" ^| findstr /i "fichier(s)"') do set size3=%%i
for /f "tokens=3" %%i in ('dir /s /a "%folder4%" ^| findstr /i "fichier(s)"') do set size4=%%i
echo Taille du dossier source : %size3% octets
echo Taille du dossier cible : %size4% octets
echo Difference : %diff% octets
if %diff% EQU 0 (
echo Operation OK
) else (
echo Erreur
)
pause
Et voici le retour :
Taille source (C:) : 8965660753 octets Taille destination (D:) : 8965506493 octets Taille du dossier source : 8 965 660 753 octets Taille du dossier cible : 8 965 506 493 octets Difference : 0 octets Operation OK Appuyez sur une touche pour continuer..
Ou peut être mon erreur ?
Je n'y connais rien en script batch et ne pourrai le dire, n'ayant fait qu'accumuler des lignes de commmande piochées à droite et à gauche..
- Script batch incorrect :(
- Script vidéo youtube - Guide
- Fichier batch - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Batch installation id c'est quoi - Forum Mobile
Bonjour,
Rien, je ne connais pas; j'utilise Comodo qui semble faire correctement le job que je lui confie.