Batch comment dire si le champ est vide
Résolu/Fermé
kosmic69
Messages postés
189
Date d'inscription
lundi 10 décembre 2007
Statut
Membre
Dernière intervention
9 août 2010
-
29 déc. 2007 à 02:38
kosmic69 Messages postés 189 Date d'inscription lundi 10 décembre 2007 Statut Membre Dernière intervention 9 août 2010 - 29 déc. 2007 à 13:15
kosmic69 Messages postés 189 Date d'inscription lundi 10 décembre 2007 Statut Membre Dernière intervention 9 août 2010 - 29 déc. 2007 à 13:15
A voir également:
- Batch comment dire si le champ est vide
- Comment supprimer une page vide sur word - Guide
- Coeur vide ✓ - Forum Facebook
- Fichier batch - Guide
- Raccourci coeur blanc - Forum Facebook
- Formate pour taxer client frigo vide - Forum PDF
12 réponses
Utilisateur anonyme
29 déc. 2007 à 09:41
29 déc. 2007 à 09:41
Hello
Tu dois pouvoir y arriver en faisant IF "%variable" == "" goto machin.
les guillemets de sont pas indispensables, le machin va remplacer le nom par l'avaleur.
variable : %1 ; si tu dis "%1" et qu'il n'y a rien, ça donne "".
Tu peux mettre autre chose : XX%1XX vide devrait donner XXXX.
J'ai eu le pb il y a peu, et dans le help de la commande IF il y a des exemples.
Si tu utilises une variable d'environnement : ?%TOTO%? vide donne ??
Attassion aux caractères spéciaux quand même, ça peut le troubler ...
Un exemple qui marche :
SET TOTO=XXXX
SET TITI=
IF /%TOTO%/ == // GOTO TOTOVIDE
ECHO TOTO non vide = %TOTO%
:TOTOVIDE
IF /%TITI%/ == // GOTO TITIVIDE
ECHO TITI non vide = %TITI%
:TITIVIDE
PAUSE
Cordialement,
Pierre
Tu dois pouvoir y arriver en faisant IF "%variable" == "" goto machin.
les guillemets de sont pas indispensables, le machin va remplacer le nom par l'avaleur.
variable : %1 ; si tu dis "%1" et qu'il n'y a rien, ça donne "".
Tu peux mettre autre chose : XX%1XX vide devrait donner XXXX.
J'ai eu le pb il y a peu, et dans le help de la commande IF il y a des exemples.
Si tu utilises une variable d'environnement : ?%TOTO%? vide donne ??
Attassion aux caractères spéciaux quand même, ça peut le troubler ...
Un exemple qui marche :
SET TOTO=XXXX
SET TITI=
IF /%TOTO%/ == // GOTO TOTOVIDE
ECHO TOTO non vide = %TOTO%
:TOTOVIDE
IF /%TITI%/ == // GOTO TITIVIDE
ECHO TITI non vide = %TITI%
:TITIVIDE
PAUSE
Cordialement,
Pierre
Utilisateur anonyme
29 déc. 2007 à 12:52
29 déc. 2007 à 12:52
Comme ça ça marchera :
rem @ECHO OFF
:action
SET /P leave= Veuillez taper 1 xxxx, 2 pour xxxx et 3 pour xxxx :
IF '%leave%' == '1' GOTO retry
IF '%leave%' == '2' GOTO start
IF '%leave%' == '3' GOTO end
IF "%leave%" == "" GOTO action
GOTO end
C'est pasque il doit y avoir une valeur après IF ; si la variable est vide, ça fait IF == et il ne s'y retrouve pas.
Tu peux aussi utiliser CHOICE
Cordialement,
Pierre
rem @ECHO OFF
:action
SET /P leave= Veuillez taper 1 xxxx, 2 pour xxxx et 3 pour xxxx :
IF '%leave%' == '1' GOTO retry
IF '%leave%' == '2' GOTO start
IF '%leave%' == '3' GOTO end
IF "%leave%" == "" GOTO action
GOTO end
C'est pasque il doit y avoir une valeur après IF ; si la variable est vide, ça fait IF == et il ne s'y retrouve pas.
Tu peux aussi utiliser CHOICE
Cordialement,
Pierre
kosmic69
Messages postés
189
Date d'inscription
lundi 10 décembre 2007
Statut
Membre
Dernière intervention
9 août 2010
11
29 déc. 2007 à 13:15
29 déc. 2007 à 13:15
MERCI !!!!! Ca fonctionne, j'ai pas compri pourquoi mais ca fonctionne !!! :)
J'ai encore quelques souci mais j'vous dis quoi ;)
J'ai encore quelques souci mais j'vous dis quoi ;)
sokiz
Messages postés
21
Date d'inscription
vendredi 28 décembre 2007
Statut
Membre
Dernière intervention
31 décembre 2007
4
29 déc. 2007 à 10:04
29 déc. 2007 à 10:04
il y a une autre solution plus facile, tu peux juste mettre parexemple: if variable == '' (ce sont deux apostrophes)..
j'éspère que ca va résoudre ton problème.
j'éspère que ca va résoudre ton problème.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
kosmic69
Messages postés
189
Date d'inscription
lundi 10 décembre 2007
Statut
Membre
Dernière intervention
9 août 2010
11
29 déc. 2007 à 11:23
29 déc. 2007 à 11:23
Cela ne fonctionne pas, j'aimerais pouvoir faire en sorte que si :
:action
SET /P leave= Veuillez taper 1 xxxx, 2 pour xxxx et 3 pour xxxx :
IF %leave% == 1 GOTO retry
IF %leave% == 2 GOTO start
IF %leave% == 3 GOTO end
IF "%leave%" == "" GOTO action
GOTO end
Vous voyez un peu ? Et si je ne rentre rien, la fenetre se referme ... (je suis sous vista)
:action
SET /P leave= Veuillez taper 1 xxxx, 2 pour xxxx et 3 pour xxxx :
IF %leave% == 1 GOTO retry
IF %leave% == 2 GOTO start
IF %leave% == 3 GOTO end
IF "%leave%" == "" GOTO action
GOTO end
Vous voyez un peu ? Et si je ne rentre rien, la fenetre se referme ... (je suis sous vista)
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
29 déc. 2007 à 12:11
29 déc. 2007 à 12:11
et comme ça ? IF "xx%leave%" == "xx" GOTO action
kosmic69
Messages postés
189
Date d'inscription
lundi 10 décembre 2007
Statut
Membre
Dernière intervention
9 août 2010
11
29 déc. 2007 à 12:17
29 déc. 2007 à 12:17
Ca me fait toujours la meme erreur "GOTO etait inattendu" si quelqu'un sait ?
sokiz
Messages postés
21
Date d'inscription
vendredi 28 décembre 2007
Statut
Membre
Dernière intervention
31 décembre 2007
4
29 déc. 2007 à 12:20
29 déc. 2007 à 12:20
viola ce problème dépend du logiciel que tu utilis...tu peux me dire le nom
kosmic69
Messages postés
189
Date d'inscription
lundi 10 décembre 2007
Statut
Membre
Dernière intervention
9 août 2010
11
29 déc. 2007 à 12:31
29 déc. 2007 à 12:31
Le logiciel que j'utilise pour quoi ? lire ou creer ?
Pour lire : cmd.exe
Pour creer : editeur de texte
Voila
Pour lire : cmd.exe
Pour creer : editeur de texte
Voila
sokiz
Messages postés
21
Date d'inscription
vendredi 28 décembre 2007
Statut
Membre
Dernière intervention
31 décembre 2007
4
29 déc. 2007 à 12:34
29 déc. 2007 à 12:34
a vrai dire, cette solution me semble valable..
kosmic69
Messages postés
189
Date d'inscription
lundi 10 décembre 2007
Statut
Membre
Dernière intervention
9 août 2010
11
29 déc. 2007 à 12:35
29 déc. 2007 à 12:35
Oui mais elle ne l'est pas a mon grand regret ... j'ai cette erreur qui persiste .. Pour toi mon code te semble bon ?
sokiz
Messages postés
21
Date d'inscription
vendredi 28 décembre 2007
Statut
Membre
Dernière intervention
31 décembre 2007
4
29 déc. 2007 à 12:40
29 déc. 2007 à 12:40
mais attend, si on parlera du programme, la derniere goto, pourquoi tu la utisisé "goto end"..t doi mettre seulement end car c'est une ettiquette..