Bonjour,
Je souhaiterais comparer deux fichiers texte et exécuter une instruction ou bien une autre (ou affecter une variable à vrai ou faux) en fonction du résultat obtenu.
La comparaison pourrait se faire, ou bien, par l'intermédiaire de la date de création ou de modification des fichiers, ou alors, en comparant le contenu de chacun des deux fichiers.
- En particulier, quand j'utilise le code suivant, il m'affiche bien "Les fichiers sont égaux" ou "Les fichiers sont différents", en fonction de l'égalité des fichiers :
Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 echo REMOTEFILE=%REMOTEFILE% echo LOCALFILE=%LOCALFILE% ( fc /B "%LOCALFILE%" "%REMOTEFILE%" | find "FC: no differences encountered" ) > nul && ( echo Les fichiers sont égaux. ) || ( echo Les fichiers sont différents. )
- Par contre, lorsque je remplace les instructions 'echo' par l'instruction 'robocopy', les 2 instructions 'robocopy' sont exécutées, et non pas l'une ou l'autre.
Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 echo REMOTEFILE=%REMOTEFILE% echo LOCALFILE=%LOCALFILE% ( fc /B "%LOCALFILE%" "%REMOTEFILE%" | find "FC: no differences encountered" ) > nul && ( robocopy %REMOTEDIR% %ROOTDIR% /mir /xd userdir %ROBOCOPY_ARGS% /v /log:%TEMPDIR%\install-noclean.log ) || ( robocopy %REMOTEDIR% %ROOTDIR% /mir %ROBOCOPY_ARGS% /v /log:%TEMPDIR%\install-clean.log )
=> Je ne comprends pas pourquoi les 2 instructions 'robocopy' sont exécutées, et comment remédier à ce programme pour n'en avoir qu'une seule qui s'exécute en fonction de l'égalité des fichiers ou non.
Est-ce que quelqu'un pourrait m'aider, s'il vous plait ?
Partager