【问题标题】:Batch If/Else syntax error批处理 If/Else 语法错误
【发布时间】:2016-08-15 18:54:16
【问题描述】:

我编写了一个批处理文件来帮助组织一些事情,但我在第一页的 if/else 语句中遇到了多个语法错误。

代码:

:Home
cls
title Home
color 0a



echo.

echo  --------------------
echo ^|                    ^|
echo ^|  A) Mon, Wed, Fri  ^|
echo ^|                    ^|
echo ^|                    ^|
echo ^|  B) Tue, Thur      ^|
echo ^|                    ^|
echo ^|                    ^|
echo  --------------------

set /p d = Please select a day set.

IF %d%==A (
    goto Mon
)
IF %d%==a (
    goto Mon
)
IF %d% == B (
    goto Tue
)
IF %d% == b (
    goto Tue
) ELSE (
    echo Invalid Input. Please try again
    set /a sum = x+1 
    set x == sum
    goto Home
)

:Mon

我遇到的问题是在创建变量“d”之后。我收到错误“(此时是意外的。”我尝试移动括号来修复它,从大写变为小写,将 if 语句的条件移动到与语句相同的行,并删除括号。我假设这是一个简单的语法错误,但我的代码看起来与我试图自己解决此问题的所有代码相同。谢谢。

【问题讨论】:

    标签: batch-file if-statement syntax syntax-error


    【解决方案1】:

    这是经典的“set-includes-spaces-in-the-variable-name”问题。

    由于您格式化代码的方式,您实际上创建了一个名为%d % 的变量。您还将该变量的值设置为Please select a day set.(开头有一个空格)。

    去掉等号两边的空格就可以了。

    set /p d=Please select a day set.
    

    【讨论】:

    • 天哪,这太简单了。谢谢,它奏效了。这就是我不经常使用批处理的原因。
    • 另外:set x == sum 不正确,set 没有 == 符号选项。你的意思是set x=sum,将x设置为“sum”,将x设置为变量sumset x=%sum%
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多