Bach if not exist directory

[Résolu/Fermé]
Signaler
Messages postés
225
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
2 septembre 2015
-
Messages postés
225
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
2 septembre 2015
-
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

Messages postés
18247
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
2 août 2021
5 333
hello
si il y a des espaces dans le nom, mettre des "
"%backupDirectory%%directoryName%%numDirectory%"
Messages postés
225
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
2 septembre 2015
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