[Batch] Problème avec GOTO et avec le caractère "|" [Résolu/Fermé]

Messages postés
76
Date d'inscription
mardi 15 mai 2012
Statut
Membre
Dernière intervention
25 février 2015
- - Dernière réponse : all94
Messages postés
76
Date d'inscription
mardi 15 mai 2012
Statut
Membre
Dernière intervention
25 février 2015
- 7 août 2013 à 18:42
Bonjour,

Je suis en train de créer un petit script complexe qui permettra de créer un dossier que l'on pourra rendre invisible aux yeux des utilisateurs pour garder des fichiers en sûreté. Mes problèmes sont les suivants :

* Dans un message echo, | est reconnue non pas comme un caractère comme un autre
mais comme une fonction pour rajouter une autre commande par dessus echo
* Dans la fonction suivante :
       :boot1
       echo Veuillez s'lectionner votre mode d'utilisation [Copie\Cache\?]
       echo.
       set /p mode = "> "
       if %mode% == copie goto copie
       if %mode% == cache goto cache
       if %mode% == ? goto ?

Les commandes "goto copie", "goto cache" et "goto ?" me donnent comme résultat
«goto était innatendit»

Quelqu'un pourrait-il m'aider SVP ?

Cordialement, all94.
Afficher la suite 

5 réponses

Messages postés
1681
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
19 février 2019
200
0
Merci
je ne suis pas sûr que de donner à une variable un nom de commande msdos soit autorisé ou recommandé. En l'occurrence : "mode"
Messages postés
27244
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
14 novembre 2019
5662
0
Merci
Salut,

Faudrait supprimer les blancs autour du =

:boot1 
echo Veuillez s'lectionner votre mode d'utilisation [Copie\Cache\?] 
echo. 
set /p mode=">"  
if %mode%==copie goto copie 
if %mode%==cache goto cache 
if %mode%==? goto ?


Pour le | (le pipe) cela passe le resultat de la première commande à la seconde. Tu devrais choisir un autre caractère dans ton echo.

cdlt


Un étranger, c'est un ami qu'on n'a pas encore rencontré.
0
Merci
pour neutraliser le méta caractère | , mettre le sigle ^ (Alt Gr 9) devant...
Messages postés
76
Date d'inscription
mardi 15 mai 2012
Statut
Membre
Dernière intervention
25 février 2015
6
0
Merci
Bonjour,

Merci beaucoup pour vos réponses, je vais immédiatement m'occuper des modification et je vous tient au courant.

Cordialement, all94
Messages postés
76
Date d'inscription
mardi 15 mai 2012
Statut
Membre
Dernière intervention
25 février 2015
6
0
Merci
Bonjour,

Merci encore pour vos réponse, cela fonctionne parfaitement mais mon script a encore un petit soucis :s, voila le code en question :

echo Veuillez entrer votre mot de passe de d'v'rouillage pour la r'cup'ration futur 
echo de vos donn's 
echo. 
set /p mdp = "> " 
mkdir dossier\mdp 
attrib +h +s dossier\mdp 
echo %mdp%>dossier\mdp\mdp.txt 
attrib +h +s dossier\mdp\mdp.txt 
echo Votre mot de passe a bien 't' enregistrer ;) ! 
pause 
goto end

Le problème est que je souhaite écrire dans un fichier mdp.txt le contenue de la variable mdp mais cela ne fonctionne pas, pourriez-vous me venir en aide une seconde fois SVP ?

Cordialement, all94.
jee pee
Messages postés
27244
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
14 novembre 2019
5662 -
Parce que comme plus haut tu as des blancs autour du =
all94
Messages postés
76
Date d'inscription
mardi 15 mai 2012
Statut
Membre
Dernière intervention
25 février 2015
6 -
Merci, j'avais oublié x)