如何继续使用交互式批处理文件?

例如,

你想继续吗? [Y / N]

如果'y'转到Label1

Else Goto Label2

由于

有帮助吗?

解决方案

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

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

其他提示

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

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

set / p choice =你想继续吗? [Y / N] if“%choice%” ==" y" ( 转到标签1 )否则转到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.

我知道有一种方法可以做到这一点(比如@ 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。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top