【发布时间】:2014-10-06 11:15:36
【问题描述】:
SET /p con1=----Do you want to display some text?(y/n):
IF con1==y (echo hi)
但这不会在命令提示符屏幕上显示“hi”。
【问题讨论】:
标签: batch-file command-line command-prompt
SET /p con1=----Do you want to display some text?(y/n):
IF con1==y (echo hi)
但这不会在命令提示符屏幕上显示“hi”。
【问题讨论】:
标签: batch-file command-line command-prompt
使用此代码
SET "con1=n"
SET /p "con1=----Do you want to display some text (y/n)? "
SET "con1=%con1:"=%"
IF /I "%con1%"=="y" (echo hi)
您忘记了引用变量con1 的值的百分号。因此,您的 IF 将固定字符串 con1 与固定字符串 y 进行了比较,它们永远不相等。
由于参数/I,比较现在不区分大小写。
如果用户只是在提示符下按回车,则会设置默认值。
如果用户输入一个或多个" 而不是只输入y 或n,则会从输入的值中删除最后一个双引号,否则批处理执行将因语法错误而与 IF 条件一致.
【讨论】: