2

如何处理交互式批处理文件?

例如。,

你要继续吗?[是/否]

如果'y'转到标签1

否则转到标签2

谢谢

4

5 回答 5

6

您可以使用 SET 命令。以下是与您上面的伪代码等效的 DOS 命令:

set /p choice=Do you want to continue? [y/n]
if '%choice%'=='Y' goto label1
goto label2
于 2009-03-04T12:41:27.537 回答
4

使用选择命令,您可以指定一组有效字符和一条消息:

choice /C YN /M "Do you want to continue?"
if errorlevel 2 goto labelno
if errorlevel 1 goto labelyes
于 2009-03-04T12:43:23.803 回答
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.

于 2017-08-10T23:40:13.760 回答
0

set /p 选择=你想继续吗?[y/n] if "%choice%" == "y" (goto label1) else goto label2

于 2013-06-10T22:04:37.260 回答
0

我喜欢你们大多数人的答案,但我最想做的是(例如,这段代码是我的组织方式。

: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.
于 2013-12-13T15:50:26.477 回答