2013-08-12 34 views
0

我有兩個文件file1和file2。如何比較兩個文件使用批處理腳本與差異計數

File1中(其爲參考文件)包含

ABC 
DEF 
ABCD 
XYZ 
DEFG 

文件2包含

ABC 
DEF 

如果「文件2」具有多個條目相比,「文件1」,那麼顯示的這種差異的計數和不同的條目

+1

http://technet.microsoft.com/en-us/library/bb490904.aspx –

+0

@PreetSangha FC是笨拙和比較文本時都有漏洞。 – foxidrive

回答

0

輸入文件爲file1.txtfile2.txt,結果文件爲file3.tmp

不確定文件是否有尾隨CRLF對。

@echo off 
copy file2.txt file3.tmp >nul 
for /f "delims=" %%a in (file1.txt) do (
findstr /v "^%%a$" <file3.tmp >file3.tmp3 
move file3.tmp3 file3.tmp >nul 
) 
echo number of new lines: 
find /c /v "" <file3.tmp 
echo. 
type file3.tmp 
pause 
+0

'findstr/x' =強制PATTERN只匹配整行(不匹配'ABC'到'ABCD',就像'grep -x')。 :) – Endoro

2
findstr /vxg:file2 file1>file3 
for /f %%a in ('^<file3 find /v /c ""') do echo %%a differences 
+0

+1這比操縱大量文件操作更好!感謝/ x評論。 – foxidrive

相關問題