Question
Comment procéder avec un fichier de commandes interactif?
Par exemple,
Voulez-vous continuer? [y / n]
Si 'y' Goto Label1
Sinon, aller à Label2
Merci
La solution
Vous pouvez utiliser la commande SET. Voici la commande DOS équivalente au pseudo-code que vous avez ci-dessus:
set /p choice=Do you want to continue? [y/n]
if '%choice%'=='Y' goto label1
goto label2
Autres conseils
À l'aide de la commande choice, vous pouvez spécifier un ensemble de caractères valides et un message:
choice /C YN /M "Do you want to continue?"
if errorlevel 2 goto labelno
if errorlevel 1 goto labelyes
set / p choice = Voulez-vous continuer? [y / n] si "% choice% " == " y " ( aller à label1 ) sinon aller à l'étiquette2
La plupart des réponses de vos gars me plaisent, mais le plus que je puisse faire est (par exemple, ce code est mon mode d'organisation.
:Label1
@echo off
color (any color)
title (anything here)
set /p choice=Do you want to continue? [y/n]
IF %choice% == y goto Label2
IF %choice% == n exit
:Label2
cls
echo you chose Yes.
Je connais un moyen de le faire (comme @ user3093687 posté)
set /p choice=Do you want to continue? (y,n)
if /I %choice%==y goto Label2
if /I %choice%==n goto exit
:Label2
Cls
echo You chose yes
:exit
exit
Le / I dans les deuxième et troisième lignes du fichier de commandes permet de ne pas être sensible à la casse et les caractères spéciaux sont ignorés (les exemples Y et y seront tous deux lus comme y.