[Batch] Problème avec GOTO et avec le caractère "|"

Résolu
all94 Messages postés 80 Statut Membre -  
all94 Messages postés 80 Statut Membre -
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.

5 réponses

  1. ryko1820 Messages postés 1633 Date d'inscription   Statut Membre Dernière intervention   310
     
    je ne suis pas sûr que de donner à une variable un nom de commande msdos soit autorisé ou recommandé. En l'occurrence : "mode"
    0
  2. jee pee Messages postés 9445 Date d'inscription   Statut Modérateur Dernière intervention   9 984
     
    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
  3. LUDO
     
    pour neutraliser le méta caractère | , mettre le sigle ^ (Alt Gr 9) devant...
    0
  4. all94 Messages postés 80 Statut Membre 6
     
    Bonjour,

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

    Cordialement, all94
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. all94 Messages postés 80 Statut Membre 6
     
    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.
    0
    1. jee pee Messages postés 9445 Date d'inscription   Statut Modérateur Dernière intervention   9 984
       
      Parce que comme plus haut tu as des blancs autour du =
      0
    2. all94 Messages postés 80 Statut Membre 6
       
      Merci, j'avais oublié x)
      0