Goto IF

[Résolu/Fermé]
Signaler
Messages postés
385
Date d'inscription
jeudi 23 décembre 2010
Statut
Membre
Dernière intervention
20 avril 2020
-
Messages postés
385
Date d'inscription
jeudi 23 décembre 2010
Statut
Membre
Dernière intervention
20 avril 2020
-
Bonjour, voici mon script qui ne fonctionne pas.

=====debut script================

echo on

SET A=%date:~-4%

if "%A%" EQU "2014" GOTO :2014
if "%A%" EQU "2013" GOTO :2013

:2014
xcopy master_preferences 'C:\Program Files\Google\Chrome' /Y
xcopy Preferences 'C:\Documents and Settings\utilisateur\Local Settings\Application Data\Google\Chrome\User Data\Default\' /Y
mkdir c:\"testok"
schtasks /Delete /TN "Chrome" /F
if exist "c:\testok" rmdir c:\testok
goto end


:2013
goto end
exit


====== fin de script========

si je suis en 2013 cela m'exécute aussi mon goto 2014, je ne comprend vraiment pas.
Merci de votre aide



3 réponses

Messages postés
3749
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
15 avril 2014
917
Trouvé :o)

je l'ai exécuté en remplaçant tes routines par 'echo 2013' ou 'echo 2014'
et voici la copie de mon cmd :
http://img593.imageshack.us/img593/4740/l43u.jpg
il y a un espace ici :
if "%A%" EQU "2014" GOTO :2014
donne
if "2013 " EQU "2013" => faux donc il continue...

maintenant, d'où sort cet espace ?
Au plus simple, pour que ça fonctionne tu n'as qu'à ajouter EQU "2013 " et ...EQU "2014 "
Messages postés
3743
Date d'inscription
samedi 23 février 2013
Statut
Membre
Dernière intervention
8 juillet 2017
1 577
Bonjour,
Tu as une variable A mais tu ne l'utilises pas dans ton IF à cause des "
Essaye avec :
if %A% EQU 2014 GOTO :2014
if %A% EQU 2013 GOTO :2013
Messages postés
3749
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
15 avril 2014
917
@ MrYAU31 : oulala maizoui mais c'est bien sûr.
Mais ça n'explique pourtant pas qu'on ait un espace après l'année... :o/
Messages postés
3743
Date d'inscription
samedi 23 février 2013
Statut
Membre
Dernière intervention
8 juillet 2017
1 577
Chez moi, je n'ai pas d'espace si je fais un echo %A%. J'ai juste 2013.
Et un
if %A% EQU 2013 echo OK
me renvoit bien OK.
Messages postés
3749
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
15 avril 2014
917
oui oui moi aussi MrYAU31
.et j'ai trouvé d'où vient l'espace :
j'ai copié collé son script et je me suis retrouvé avec un espace supplémentaire en fin de chaque ligne. cqfd
j'ai provoqué une erreur, au lieu de donner la solution... je vais aller faire pénitence tiens...
Messages postés
385
Date d'inscription
jeudi 23 décembre 2010
Statut
Membre
Dernière intervention
20 avril 2020
45
Merci effectivement en enlevant les guillemets cela fonctionne