【问题标题】:What is the error in this batch code?此批处理代码中的错误是什么?
【发布时间】: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


    【解决方案1】:

    使用此代码

    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,比较现在不区分大小写。

    如果用户只是在提示符下按回车,则会设置默认值。

    如果用户输入一个或多个" 而不是只输入yn,则会从输入的值中删除最后一个双引号,否则批处理执行将因语法错误而与 IF 条件一致.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多