在我的批处理文件中,我想问用户一个问题。
我写了以下内容:
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.
)