嵌套的If语句,变量在外面声明

时间:2017-08-28 14:21:48

标签: batch-file batch-processing

我有这段代码抛出错误:“语法不正确”。

SET "VAR1=UP"
SET "VAR2=UP"

IF ("%VAR1%"=="UP")
(
  IF "(%VAR2%"=="UP")
  ( ECHO "VALUES MATCH")
 ) 

但如上所述,这会引发错误。比较语法(%VAR1%“==”UP“)是否不正确或变量声明有任何问题?

代码的功能将是:将有四个这样的If块,每个块将比较两个变量的四个可能值并抛出特定的显示消息。

如果有人能帮助我,那真是有责任。

1 个答案:

答案 0 :(得分:2)

IF ("%VAR1%"=="UP")

字符串IF ("%VAR1%"永远不会等于字符串"UP"),无论var1的值如何 - 这些括号用于部分比较,您不能将它们分组为a"布尔"。

IF "%VAR1%"=="UP"

是正确的比较语法,但是

(

如果将比较评估为 true 绝对必须if处于同一物理行,则开始将语句分组为级联。< / p>

同样适用于else - 语法) else (必须恰到好处。