我注意到,如果与“ IF”和“ DO”之类的词进行比较,则批处理文件中的字符串比较将无法正常进行。
IF "DO" == "DO" (
ECHO YES
)
上面的方法工作正常,但没有用。
SET stringDO=DO
IF %stringDO% == "DO" (
ECHO YES
) ELSE (
ECHO NO
)
当我们使用变量时,以上示例的结果为“否”
奇怪的是,比较两个变量可以正常工作。
SET stringDO=DO
SET compare=DO
IF %stringDO% == %compare% (
ECHO YES
)
所以我的问题是,我做错了什么吗?或者这是预期的行为?
在字符串比较中还有另一种转义命令字的方法吗?
答案 0 :(得分:2)
问题代码if
比较按顺序评估:
IF "DO" == "DO"
IF DO == "DO"
IF DO == DO
比较中包括双引号。 DO
不等于"DO"
。
SET stringDO=DO
IF "%stringDO%" == "DO" (
ECHO YES
) ELSE (
ECHO NO
)
得出YES
。