Pregunta

¿Cómo proceder con un archivo por lotes interactivo?

Por ejemplo,

¿Quieres continuar? [y / n]

Si 'y' Goto Label1

Else Goto Label2

Gracias

¿Fue útil?

Solución

Puedes usar el comando SET. El siguiente es el comando de DOS equivalente del pseudo código que tiene arriba:

set /p choice=Do you want to continue? [y/n]
if '%choice%'=='Y' goto label1
goto label2

Otros consejos

Usando el comando de elección, puede especificar un conjunto de caracteres válidos y un mensaje:

choice /C YN /M "Do you want to continue?"
if errorlevel 2 goto labelno
if errorlevel 1 goto labelyes

set / p choice = ¿Quieres continuar? [y / n] si "% choice% " == " y " ( goto label1 ) else goto label2

La mayoría de las respuestas de tus chicos me gustan, pero lo máximo que haría es (por ejemplo, este código es mi forma de organización.

: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.

Sé una manera de hacerlo (como @ user3093687 publicado)

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

El / I en la segunda y tercera línea del archivo de proceso por lotes hace que no distinga entre mayúsculas y minúsculas y se ignoran los caracteres especiales (los ejemplos Y e y se leerán como y.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top