在我的批处理文件中,我想要向用户提出一个问题。
我编写了以下内容:
我编写了以下内容:
SET /P ANSWER=Click Y to continue or N to stop (Y/N)
但是我没有收到最后一个)
的消息。
有人知道为什么吗?
谢谢!
SET /P ANSWER=Click Y to continue or N to stop (Y/N)
但是我没有收到最后一个)
的消息。
有人知道为什么吗?
谢谢!
由于您在括号化块内使用该提示,例如:
if ... (
...
set /P ANSWER=Blah (Y/N)
)
或者for %%x in (...) do (
...
set /P ANSWER=Blah (Y/N)
)
在这种情况下,您需要转义右括号:
SET /P ANSWER=Click Y to continue or N to stop (Y/N^)
或者引用整个论点:
SET /P "ANSWER=Click Y to continue or N to stop (Y/N)"
否则它会关闭这个块。如果在那个闭括号之后还有任何东西,你将会得到一个语法错误。choice
命令:choice /M "Press Y to continue or N to stop" /c YN
然后您可以在之后检查错误级别以了解用户的选择:
if errorlevel 255 (
echo Error
) else if errorlevel 2 (
echo No.
) else if errorlevel 1 (
echo Yes.
) else if errorlevel 0 (
echo Ctrl+C pressed.
)