Batch file 如何使用具有差异计数的批处理脚本比较两个文件

Batch file 如何使用具有差异计数的批处理脚本比较两个文件,batch-file,cmd,Batch File,Cmd,我有两个文件file1和file2 文件1(即参考文件)包含 文件2包含 ABC DEF 如果“File2”比“File1”有更多的条目,则显示这些差异的计数,不同的条目输入文件为File1.txt和File2.txt,结果文件为file3.tmp 不确定文件是否有尾随的CRLF对 @echo off copy file2.txt file3.tmp >nul for /f "delims=" %%a in (file1.txt) do ( findstr /v "^%%a$" <

我有两个文件file1和file2

文件1(即参考文件)包含

文件2包含

ABC
DEF

如果“File2”比“File1”有更多的条目,则显示这些差异的计数,不同的条目输入文件为
File1.txt
File2.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
@echo关闭
复制file2.txt file3.tmp>nul
对于(file1.txt)中的/f“delims=“%%a”do(
findstr/v“^%%a$”文件3.tmp3
移动文件3.tmp3文件3.tmp>nul
)
新线路的回音编号:
find/c/v”“
findstr/vxg:file2 file1>file3

对于/f%%a in(“^@PreetSangha FC很笨拙,在比较文本时有错误。
findstr/x
=强制模式只匹配整行(不匹配
ABC
ABC
,如
grep-x
):+1这比摆弄大量文件操作要好!谢谢你的/x评论。
@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
findstr /vxg:file2 file1>file3
for /f %%a in ('^<file3 find /v /c ""') do echo %%a differences