Bach if not exist directory

Résolu
Bonjour,

J'essaye de faire un .bat (mon premier) pour programmer la sauvegarde d'une base de données.

Dans mon batch j'ai besoin de ce bout d'algo :

Si fichier1 n'existe pas passe à la suite
Sinon fichier1 devient fichier2
Recommence le test

Dans mon code j'ai traduis ainsi :



set /a numDirectory=1
:while
if not exist %backupDirectory%%directoryName%%numDirectory% goto end
set /a numFichier=numFichier+1
goto while
:end


Mon problème est que ce script renvoie toujours la même chose : Le chemin d'accès spécifié est introuvable. Et il boucle à l'infini.

C'est bien que ce soit introuvable, mais alors qu'il passe à la suite !
D'autant que pour tester je dispose de deux fichiers existant et il ne semble pas les trouver.

Lorsque je retire le "not" de "if not exist" je n'ai pas de message d'erreur... par contre je boucle de nouveau à l'infini... fichier1 2 3 4 etc...

Je ne comprend pas... le batch as une fonction pour ne pas sortir des boucles de conditions ?

--
Windows plante, Linux déprime, Mac s'enterre... Ou est passé mon Tam-Tam ?

2 réponses

  1. Contributeur
    hello
    si il y a des espaces dans le nom, mettre des "
    "%backupDirectory%%directoryName%%numDirectory%"
    0
    1. Merci Dubcek !

      Pas d'espace dans le chemin, mais je viens de régler mon problème (en ajoutant des double quote tout de même dans le doute ^^)


      set /a numDirectory=0
      :while
      set /a numDirectory=numDirectory+1
      if exist "%backupDirectory%%directoryName%%numDirectory%\*.*" goto :while
      goto :end
      pause
      :end
      0