批量如果/否则语法错误
问题描述:
我已经写了一个批处理文件来帮助组织一些事情,并且我在第一页使用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
,我碰到的问题是creatng变量 'd' 之后。我得到错误“(此时意外。”我试着移动圆括号来修复它,从大写到小写,将if语句的条件移动到语句的同一行,并删除括号。我假设这是一个简单的语法错误,但我的代码看起来像我自己试图解决这个问题的所有代码一样。谢谢。
答
这是经典的“set-includes-spaces-变量名称“问题
由于您对代码进行了格式化,因此实际上已创建了一个名为%d %
的变量,并且已将该变量的值设置为Please select a day set.
(在此处有一个空格非常开始)
从等号两边去掉空格,你就可以走了。
set /p d=Please select a day set.
哦,上帝,那是如此简单。谢谢,它工作。这就是为什么我不使用批量。 – JimmyCode
另外:'set x == sum'不正确,'set'没有'=='标志选项。你的意思是设置x = sum',将'x'设置为“sum”,将'x'设置为变量'sum':'set x =%sum%'。 –