用于比较文本文件内容的批处理文件

Tel*_*lva 1 compare file batch-file

我有两个文本文件,其中包含以下数字

File1
00000
11111

File2
00000
11111
22222
Run Code Online (Sandbox Code Playgroud)

我需要一个代码来比较file2的内容和file1的内容以及不匹配的数字,在这种情况下'22222'是file2中的唯一内容.

总之,我想删除file2的内容,并将不匹配的内容放在file2中.下面是我尝试过的代码,但它只是删除了file2中的所有内容.

setlocal enabledelayedexpansion

for /f "tokens=1" %%a in (file1) do (type file2 | findstr /v %%a > file2)

pause
Run Code Online (Sandbox Code Playgroud)

底线我需要达到以下结果

File1
00000
11111

File2
22222
Run Code Online (Sandbox Code Playgroud)

请帮忙 !

dbe*_*ham 7

我认为这是最简单,最快速的原生批量解决方案

findstr /vixg:"File1" "File2" >"File2.new"
move /y "File2.new" "File2"
Run Code Online (Sandbox Code Playgroud)

请注意,我使用了findstr /i不区分大小写的选项.这很重要,因为除非使用了或者选项,否则在搜索多个文字字符串时可能导致错过匹配的findtr错误.不区分大小写的解决方法不应该影响您,因为您正在处理数字./i/r