批处理:嵌套变量无法进行比较

时间:2013-08-19 19:26:09

标签: batch-file

我需要比较两个文本文件并获取两个文本文件中出现的行。 这是我的代码:

@echo off
for /F "tokens=*" %%A in (%1.txt) do (
    for /F "tokens=*" %%B in (%2.txt) do (
        echo %%A %%B
        if %%A==%%B echo OK                 
    )
)

我测试文件a.txt(行a,c和d)和b.txt(行a,b和c)。 输出:

a a 
a b 
a c 
c a 
c b 
c c 
d a 
d b 
d c

如果我用%% A == a替换%% A == %% B,则输出如下:

a a 
OK                  
a b 
OK                  
a c 
OK                  
c a 
c b 
c c 
d a 
d b 
d c 

当我测试%% B == a时,输出与%% A == %% B相同。

在我看来,%% B无法与任何东西进行比较。 我做错了什么?

1 个答案:

答案 0 :(得分:1)

您的代码是正确的,但您的第二个文件(b.txt)有尾随空格。