听起来我不能放"?"在批处理(.bat)脚本中提示:
set /p AREYOUSURE= Are you sure (Y/[N]) ?
它与消息崩溃:
?这时出人意料。
但是,没有""
,它运作良好注意:我正在运行Windows 7 64位。
答案 0 :(得分:5)
这不是因为问号,而是因为右括号。您正在块中使用此语句,例如
if foo (
set /p AREYOUSURE= Are you sure (Y/[N]) ?
)
右括号关闭了块,然后让解析器在块之后偶然发现第一个字符。
您可以转义右括号:
set /p AREYOUSURE= Are you sure (Y/[N]^) ?
或只是使用引号,我总是建议:
set /p "AREYOUSURE=Are you sure (Y/[N])?"
对于类似这样的问题,我个人会使用choice
,但是:
choice /m "Are you sure"
但是,按这种方式返回时,你无法做出默认选择。