2013-08-19 63 views
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     
    ) 
) 

I測試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 a 
OK     
a b 
OK     
a c 
OK     
c a 
c b 
c c 
d a 
d b 
d c 

雖然我測試%%乙==相反,輸出與%% A == %% B相同。

在我看來,%% B無法與任何東西進行比較。 我在做什麼錯?

回答

1

你的代碼是正確的,但你的第二個文件(b.txt)有尾隨空格。