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

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top