Jump to content

Recommended Posts


You can have (in 2K/XP etc.)

IF ERRORLEVEL 1 ...

(old "DOS" style)

or

IF %ERRORLEVEL%==1 ....

(new NT style)

http://www.robvanderwoude.com/errorlevel.php

The second won't work in DOS.

It depends on the intended OS, since CHOICE was used, I presume DOS, otherwise SET /P is the normal NT way to have choices.

http://www.robvanderwoude.com/userinput.php

jaclaz

Link to comment
Share on other sites

Same command prompt but with French language:


Microsoft Windows [version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Tous droits réservés.

C:\Users\Antoine>choice /?

CHOICE [/C choix] [/N] [/CS] [/T délai /D choix] [/M texte]

Description :
Cet outil permet aux utilisateurs de sélectionner un élément d'une liste
de choix et renvoie l'index du choix sélectionné.

Liste de paramètres :
/C choix Spécifie la liste des choix à créer.
La liste par défaut est "ON".

/N Masque la liste des choix dans l'invite de commande.
Le message avant l'invite de commande est affiché
et les choix restent activés.

/CS Permet la sélection de choix respectant la casse.
Par défaut, l'utilitaire ne respecte pas la casse.

/T délai Nombre de secondes de suspension avant
d'effectuer un choix par défaut. Les valeurs acceptables

sont comprises entre 0 et 9999. Si 0 est spécifié,
le choix par défaut sera sélectionné sans suspension.

/D choix Spécifie le choix par défaut après nnnn secondes.
Le caractère doit être compris dans les choix spécifiés
par l'option /C et doit également spécifier nnnn avec /T.


/M texte Spécifie l'affichage du message avant l'invite de
commande. Si l'option n'est pas spécifiée, l'utilitaire
affiche uniquement une invite de commande.

/? Affiche ce message d'aide.

Remarque :
La variable d'environnement ERRORLEVEL est définie à l'index de la
clé sélectionnée dans l'ensemble de choix. Le premier choix
listé renvoie la valeur 1, le second renvoie la valeur 2, etc.
Si l'utilisateur appuie sur une touche ne représentant pas un choix valide,
l'outil émet un signal sonore d'avertissement. Si l'outil détecte une
condition d'erreur, il renvoie une valeur ERRORLEVEL de 255.
Si l'utilisateur appuie sur CTRL+Pause ou CTRL+C, l'outil renvoie
une valeur ERRORLEVEL de 0. Lorsque vous utilisez les paramètres
ERRORLEVEL dans un programme de commandes,
vous devez les lister par ordre décroissant.

Exemples :
CHOICE /?
CHOICE /C ONA /M "Appuyez sur O pour Oui, N pour Non ou A pour Annuler."
CHOICE /T 10 /C ona /CS /D o
CHOICE /C ab /M "Sélectionnez a pour l'option 1 et b pour l'option 2."
CHOICE /C ab /N /M "Sélectionnez a pour l'option 1 et b pour l'option 2."

C:\Users\Antoine>

Edited by myselfidem
Link to comment
Share on other sites

If I want the batch working - like this - on my computer I need to browse on my profile:


@ECHO OFF
cd C:\
cd %userprofile%
CHOICE /C YN /M "PLEASE MAKE YOUR CHOICE"

IF %ERRORLEVEL%==2 (
ECHO.
ECHO YOU SELECTED [N]
)

IF %ERRORLEVEL%==1 (
ECHO.
ECHO YOU SELECTED [Y]
)

ECHO.
PAUSE

Edited by myselfidem
Link to comment
Share on other sites

edit: not working, here is the exported code:


echo HELP
CHOICE /C YN /M "Help him"
IF %errorlevel%==1(

: save
echo thank you
pause
echo you got 10 points
set points=10)

You can try like this:


@echo off
echo HELP
CHOICE /C YN /M "Help him"


IF %ERRORLEVEL%==2 goto :exit
IF %ERRORLEVEL%==1 goto :save

:save
echo thank you
pause
echo you got 10 points

set points=10
pause

:exit

Edited by myselfidem
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...