如何处理交互式批处理文件?
例如。,
你要继续吗?[是/否]
如果'y'转到标签1
否则转到标签2
谢谢
您可以使用 SET 命令。以下是与您上面的伪代码等效的 DOS 命令:
set /p choice=Do you want to continue? [y/n]
if '%choice%'=='Y' goto label1
goto label2
使用选择命令,您可以指定一组有效字符和一条消息:
choice /C YN /M "Do you want to continue?"
if errorlevel 2 goto labelno
if errorlevel 1 goto labelyes
我知道一种方法(如@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.
set /p 选择=你想继续吗?[y/n] if "%choice%" == "y" (goto label1) else goto label2
我喜欢你们大多数人的答案,但我最想做的是(例如,这段代码是我的组织方式。
: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.