批处理文件中的字符串比较从不匹配

时间:2015-10-28 20:16:13

标签: windows batch-file

我有以下代码段

setlocal EnableExtensions EnableDelayedExpansion
SET copyableTomcat="C:\test\source"
SET tomcatNode[2]="C:\test\source"

set x=2

IF %copyableTomcat% == %%tomcatNode[%x%]%% (
    call echo "ignoring " %%tomcatNode[%x%]%%
) ELSE (
    call echo "done"
)

但是,if语句永远不会匹配,并且总是进入else语句。

我不确定我是在做错某事还是完全错过了什么

1 个答案:

答案 0 :(得分:2)

call仅适用于!

  • 使用echo展开值,因为您已经在使用延迟展开
  • call
  • 中无需引号
  • 在这种情况下,无需使用IF %copyableTomcat%==!tomcatNode[%x%]! ( echo ignoring !tomcatNode[%x%]! ) ELSE ( echo done ) 延迟扩展
|A|B|C      |
-------------
|1|2|"1,2,4"|
|3|4|"5,6"  |