Bonjour, je suis en train de créer un script batch un peu spécial et j'ai un petit souci, au début j'étais parti avec ceci:
Ce scipt compare un fichier stoker dans un répertoire source avec un autre fichier dans le répertoire System32 de Windows, si les fichiers sont différents la variable %ErrorLevel% déclenche la copie du fichier dans le répertoire source sur le fichier du répertoire System32, mais ce script c'est pour un seul fichier, maintenant je veux faire quelque un script qui test plusieurs fichiers, grâce à une boucle For, voilà où j'en suis:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Fc /l /n "%RepSource%\notepad.exe" "%WinDir%\System32\notepad.exe" >nul If not %ErrorLevel%== 0 ( xcopy "%RepSource%\notepad.exe" "%windir%\System32\dllcache\*.*" /S /I /H /Q /R /Y & xcopy "%RepSource%\notepad.exe" "%windir%\System32" /S /I /H /Q /R /Y & xcopy %RepSource%\notepad.exe "%windir%\*.*" /S /I /H /Q /R /Y & color 0E ) else ( echo Mise … jour OK pour Bloc Note )
Là ce que je veus plus précisément, c'est que le script compare tous les fichiers stockés dans le répertoire source avec les fichiers de même noms dans le répertoire System32, j'ai donc fais une première boucle For qui fouille le répertoire source, puis une deuxième boucle For imbriquée qui elle compare les fichiers listés dans le répertoire source avec les fichiers de même noms dans le répertoire System32, ce que je n'arrive pas à faire c'est faire en sorte que la deuxième boucle For ne copie que les fichier dans la source et la cible sont différentes, la variable %ErrorLevel% ne fonctionne pas entre les parenthèses d'une boucle For, donc la je ne sais pas quoi faire, quelqu'un saurait-il m'éclairer ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 For /r "%RepSource%\" %%i In (*.*) Do ( For /f "delims=" %%j In ('Fc /l /n "%%i" "%WinDir%\System32\%%~nxi"') Do xcopy "%%i" "%windir%\System32\dllcache\*.*" /S /I /H /Q /R /Y & xcopy %%i" "%windir%\System32" /S /I /H /Q /R /Y & xcopy %%i "%windir%\*.*" /S /I /H /Q /R /Y & color 0E )
Partager