Fonction if not exist > goto

Fermé
Signaler
Messages postés
37
Date d'inscription
jeudi 7 août 2014
Statut
Membre
Dernière intervention
29 septembre 2014
-
Messages postés
18344
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
29 novembre 2021
-
Bonjour,

Depuis quelques jours je deviens fou sur mon script à cause de cette combinaison. Je m'explique:

je souhaites faire en sorte que lorsqu'on lance mon .bat, on me demande d'entré la lettre du disque dur externe (concerné pour le reste du script) qui es donc une variable (DDE) puis qu'ensuite le script vérifie que le label entré es valide (au cas ou l'utilisateur se trompe de lettre) si c'est bon GOTO la suite du script, sinon retour au debut. voici le bout de script concerné:


.....
@:noDDE
fsutil fsinfo drives
echo Lettre du disque dur externe ? (sans :\) :
SETLOCAL
set /p DDE=
ECHO Verification en cours...

if not exist "%DDE%:" (goto :noDDE) else (goto :okDDE)

@:okDDE
.......

Si quelqu'un connais la solution... merci d'avance !

PS: c'est pour le taf

2 réponses

Messages postés
18344
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
29 novembre 2021
5 443
hello
essayer en testant le répertoire racine \
if not exist "%DDE%:\" (goto :noDDE) else (goto :okDDE)
Messages postés
37
Date d'inscription
jeudi 7 août 2014
Statut
Membre
Dernière intervention
29 septembre 2014

Salut !

j'ai essayer mais le cmd se coupe en arrivant à cette ligne, juste après avoir choisit le label. j'ai également test avec un .txt à la racine, même resultat, j'ai test la fonction GOTO toute seul, elle ne fonctionne pas elle es pas prise en compte :(
Messages postés
37
Date d'inscription
jeudi 7 août 2014
Statut
Membre
Dernière intervention
29 septembre 2014

idem :(
Messages postés
37
Date d'inscription
jeudi 7 août 2014
Statut
Membre
Dernière intervention
29 septembre 2014

petite nouveauté (on avance !) sans les @:okDDE et @:noDDE (et 2/3 autre modif dans le script) le CMD se coupe plus mais reviens en boucle a la ligne qui demande d'entré le label du DDE
Messages postés
37
Date d'inscription
jeudi 7 août 2014
Statut
Membre
Dernière intervention
29 septembre 2014

j'ai trouver ! !

	:noDDE
fsutil fsinfo drives
echo Lettre du disque dur externe ? (sans :\) :
SETLOCAL
set /p DDE=
ECHO Verification en cours...

if not exist "%DDE%:" (goto :noDDE) else goto :okDDE

:okDDE
Messages postés
37
Date d'inscription
jeudi 7 août 2014
Statut
Membre
Dernière intervention
29 septembre 2014

je ne sais pas pourquoi ça c'est pas copier mais il y a un \ ici:

if not exist "%DDE%:\" (goto :noDDE) else goto :okDDE

Voili voilou =)

Merci pour ton aide dubek pour ton aide !
Messages postés
18344
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
29 novembre 2021
5 443
C: c'est un disque, C:\ c'est un répertoire