Copland Posted December 26, 2011 Posted December 26, 2011 (edited) - Edited January 20, 2021 by Copland
Guest Posted December 26, 2011 Posted December 26, 2011 I have found ss64.com to be a very useful free resource for batch scripting.
jaclaz Posted December 26, 2011 Posted December 26, 2011 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.phpThe 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.phpjaclaz
jaclaz Posted December 26, 2011 Posted December 26, 2011 Choice made a return in Windows 7;Good to know! jaclaz
myselfidem Posted December 26, 2011 Posted December 26, 2011 (edited) 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 December 27, 2011 by myselfidem
Copland Posted December 26, 2011 Author Posted December 26, 2011 (edited) - Edited January 18, 2021 by faissaloo
Yzöwl Posted December 26, 2011 Posted December 26, 2011 Try this to see how it works:@ECHO OFFCHOICE /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
Copland Posted December 27, 2011 Author Posted December 27, 2011 (edited) - Edited January 20, 2021 by Copland
myselfidem Posted December 27, 2011 Posted December 27, 2011 (edited) If I want the batch working - like this - on my computer I need to browse on my profile:@ECHO OFFcd 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 December 27, 2011 by myselfidem
myselfidem Posted December 27, 2011 Posted December 27, 2011 (edited) edit: not working, here is the exported code:echo HELPCHOICE /C YN /M "Help him"IF %errorlevel%==1(: saveecho thank youpauseecho you got 10 pointsset points=10)You can try like this:@echo offecho HELPCHOICE /C YN /M "Help him"IF %ERRORLEVEL%==2 goto :exitIF %ERRORLEVEL%==1 goto :save:saveecho thank youpauseecho you got 10 pointsset points=10pause:exit Edited December 27, 2011 by myselfidem
Copland Posted December 27, 2011 Author Posted December 27, 2011 (edited) - Edited January 20, 2021 by Copland
jaclaz Posted December 27, 2011 Posted December 27, 2011 faissaloocheck ATTENTIVELY what has been posted.IF %errorlevel%==1[sPACE](jaclaz
Copland Posted December 27, 2011 Author Posted December 27, 2011 (edited) - Edited January 20, 2021 by Copland
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now