Bach if not exist directory

Résolu
Leinox Messages postés 227 Date d'inscription   Statut Membre Dernière intervention   -  
Leinox Messages postés 227 Date d'inscription   Statut Membre Dernière intervention   -
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 ?

2 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
si il y a des espaces dans le nom, mettre des "
"%backupDirectory%%directoryName%%numDirectory%"
0
Leinox Messages postés 227 Date d'inscription   Statut Membre Dernière intervention   29
 
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