Script batch incorrect :(
brucine Messages postés 21666 Date d'inscription Statut Membre Dernière intervention -
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
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- 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.