En fait, il faut dans un premier tester si le fichier résultat que l'on désire obtenir existe ou non.
Il faut ensuite comparer si le fichier source a été modifié depuis la dernière fois. Pour cela on compare les dates des fichiers source et résultat. Il n'existe pas de commande interne permettant de réaliser l'opération simplement. J'ai trouvé le programme wasfile sur l'excellent site de Horst Schaeffer's Software>
On va se servir des label du langage de scripting de windows pour déterminer ce Qu'il y a à faire.
@echo off ::---------------------------------- :: makefile ::---------------------------------- :: teste si le fichier n'existe pas et réalise la règle if not exist test.html call :test :: si le fichier source a été modifié réalise la règle wasfile test.txt modified after test.html if %errorlevel%==0 call :test ::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if not exist prog.html call :prog wasfile prog.txt modified after prog.html if %errorlevel%==0 call :prog goto :eof ::---------------------------------- :: règles ::---------------------------------- :test echo make test type test.txt > test.html goto :eof :prog echo make prog type prog.txt > prog.html goto :eof
fonction | fichier |
---|---|
Makefile | makefile.bat |
executable de comparaison de date | wasfile.exe |