Интерактивный пакетный файл - PullRequest
1 голос
/ 04 марта 2009

Как продолжить работу с интерактивным командным файлом?

Например.

Хотите продолжить? [Г / л]

If 'y' Goto Label1

Else Goto Label2

Спасибо

Ответы [ 5 ]

6 голосов
/ 04 марта 2009

Вы можете использовать команду SET. Ниже приведен эквивалент команды DOS псевдокода, который вы указали выше:

set /p choice=Do you want to continue? [y/n]
if '%choice%'=='Y' goto label1
goto label2
3 голосов
/ 04 марта 2009

Используя команду выбора, вы можете указать набор допустимых символов и сообщение:

choice /C YN /M "Do you want to continue?"
if errorlevel 2 goto labelno
if errorlevel 1 goto labelyes
0 голосов
/ 11 августа 2017

Я знаю 1 способ сделать это (например, @ user3093687 опубликовано)

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

Параметр / I во второй и третьей строке пакетного файла делает его не чувствительным к регистру, а специальные символы игнорируются (например, Y и y будут оба читаться как y.

0 голосов
/ 13 декабря 2013

Мне нравится большинство ответов ваших парней, но больше всего я хотел бы (например, этот код - мой способ организации.

: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.
0 голосов
/ 11 июня 2013

set / p choice = Вы хотите продолжить? [Г / л] if "% choice%" == "y" ( Перейти к label1 ) еще перейти к label2

...