Pergunta
Como proceder com um arquivo em lote interativo?
Por exemplo.,
Você quer continuar? [S/N
Se 'y' goto Label1
Mais o goto label2
Obrigado
Solução
Você pode usar o comando set. A seguir, o comando do DOS equivalente ao código pseudo que você tem acima:
set /p choice=Do you want to continue? [y/n]
if '%choice%'=='Y' goto label1
goto label2
Outras dicas
Usando o comando Choice, você pode especificar um conjunto de caracteres válidos e uma mensagem:
choice /C YN /M "Do you want to continue?"
if errorlevel 2 goto labelno
if errorlevel 1 goto labelyes
set /p escolha = você deseja continuar? [y/n] se "%escolha%" == "y" (goto Label1) else Goto Label2
A maioria das respostas de seus rapazes que eu mais gosto, mas o máximo que eu faria é (por exemplo, esse código é minha maneira de organização.
: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.
Eu sei uma maneira de fazer isso (como @user3093687 postado)
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
O /I na segunda e terceira linha do arquivo em lote faz com que não seja sensível ao caso e os caracteres especiais sejam ignorados (o exemplo Y e Y serão lidos como y.