Bonjour, je voudrais comparer les dates de deux fichiers en batch.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
DIR /TW %output_dir%\%%~nF.txt  | find "/" > %%~nF_tmp_.txt
	FOR /F "tokens=1-4 delims=/ " %%i IN (%%~nF_tmp_.txt) DO SET datetmp=%%k%%j%%i
	DEL %%~nF_tmp_.txt
	
	DIR /TW %%F  | find "/" > %%~nF_tmp2_.txt
	FOR /F "tokens=1-4 delims=/ " %%i IN (%%~nF_tmp2_.txt) DO SET datetmp2=%%k%%j%%i
	DEL %%~nF_tmp2_.txt	
	IF %datetmp% GTR %datetmp2% GOTO lEof
Le problème est le suivant :

Je lance le script (via l'invite de commande), il me dit "GOTO était inattendu".

Je retire cette ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
IF %datetmp% GTR %datetmp2% GOTO lEof
Le script fonctionne a nouveau, et quand je la remet, exactement au même endroit, le script fonctionne ! Si je quitte l'invite de commande ça ne marchera à nouveau plus et je devrais refaire la même manip. Pourquoi dois-je supprimer et remettre la ligne a chaque fois ?

Cordialement,

Edit : script réel bien plus long mais non utile ici.