Goto IF

Résolu
techinfo46 Messages postés 432 Statut Membre -  
techinfo46 Messages postés 432 Statut Membre -
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

  1. Froulik Messages postés 4292 Statut Membre 954
     
    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 "
    0
  2. MrYAU31 Messages postés 4631 Statut Membre 1 630
     
    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
    0
    1. Froulik Messages postés 4292 Statut Membre 954
       
      @ 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/
      0
    2. MrYAU31 Messages postés 4631 Statut Membre 1 630
       
      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.
      0
    3. Froulik Messages postés 4292 Statut Membre 954
       
      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...
      0
  3. techinfo46 Messages postés 432 Statut Membre 56
     
    Merci effectivement en enlevant les guillemets cela fonctionne
    0