1

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

@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 似乎无法与任何东西相比。我究竟做错了什么?

4

1 回答 1

1

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

于 2013-08-19T19:45:01.203 回答