Batch file 在批处理设置/P命令中&引用;与“碰撞”;在这个时候是出人意料的”;
听起来我不能在批处理(.bat)脚本的提示中放入“?”: 它会崩溃,并显示以下消息: ??在这个时候是出乎意料的 但是,它在没有“”的情况下运行良好Batch file 在批处理设置/P命令中&引用;与“碰撞”;在这个时候是出人意料的”;,batch-file,set,prompt,Batch File,Set,Prompt,听起来我不能在批处理(.bat)脚本的提示中放入“?”: 它会崩溃,并显示以下消息: ??在这个时候是出乎意料的 但是,它在没有“”的情况下运行良好 注意:我使用的是64位Windows 7。这不是因为问号,而是因为右括号。您正在块中使用此语句,例如 if foo ( set /p AREYOUSURE= Are you sure (Y/[N]) ? ) 右括号关闭块,然后让解析器在块后的第一个字符上绊倒 可以对右括号进行转义: set /p AREYOUSURE= Are you sur
注意:我使用的是64位Windows 7。这不是因为问号,而是因为右括号。您正在块中使用此语句,例如
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 /m "Are you sure"
但是,按回车键时不能进行默认选择。这不是因为问号,而是因为右括号。您正在块中使用此语句,例如
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 /m "Are you sure"
但是,按return键时不能进行默认选择。我建议您在主题标题中添加“in SET/p command”!“批处理脚本中的提示”是一个完全不同的东西…我建议您在主题标题中添加“在SET/P命令中”!“批处理脚本中的提示”是一个完全不同的东西。。。