Batch file 批处理文件比较(FC)输出不工作
我有两个文件包含目录中的文件列表:files.txt和filesb.txtBatch file 批处理文件比较(FC)输出不工作,batch-file,cmd,file-comparison,Batch File,Cmd,File Comparison,我有两个文件包含目录中的文件列表:files.txt和filesb.txt file1.txt包含以下内容: file1 file2 file3 file4 file5 file6 filelast 而filesb.txt包含: file1 file2 file3 file4 file5 file7 filelast 据我所知,以下批次代码: FC C:\Users\[username]\Desktop\files.txt C:\Users\[username]\Desktop\files.
file1.txt包含以下内容:
file1
file2
file3
file4
file5
file6
filelast
而filesb.txt包含:
file1
file2
file3
file4
file5
file7
filelast
据我所知,以下批次代码:
FC C:\Users\[username]\Desktop\files.txt C:\Users\[username]\Desktop\files.txt
应输出以下内容:
Comparing files C:\USERS\[username]\DESKTOP\files.txt and C:\USERS\[username]\DESKTOP\FILESB.TXT
***** C:\USERS\[username]\DESKTOP\files.txt
file6
***** C:\USERS\[username]\DESKTOP\FILESB.TXT
file7
*****
但事实上:
Comparing files C:\USERS\[username]\DESKTOP\files.txt and C:\USERS\[username]\DESKTOP\FILESB.TXT
***** C:\USERS\[username]\DESKTOP\files.txt
file5
file6
filelast
***** C:\USERS\[username]\DESKTOP\FILESB.TXT
file5
file7
filelast
*****
我该怎么做才能只输出不同的文件,而不输出周围的文件?提前谢谢 每组差异的第一行和最后一行有助于正确识别每组差异。如果只是报告了不同的行,那么如果文件较大且存在许多差异,您可能无法识别该行。但是,您可以从FC命令获得输出,并以您希望的任何方式对其进行处理,但此解决方案并不简单,因为可能还会插入新行、删除旧行或这些情况的任意组合 不久前,我编写了这样一个程序,不仅可以正确地处理所有这些情况,而且还可以水平地对两个文件进行可视化比较,每个文件使用一半的屏幕。例如:
C:\> type files.txt
file1
file2
file3
file4
file5
file6
filelast
C:\> type filesb.txt
file1
file2
file3
file4
file5
file7
filelast
C:\> FComp files.txt filesb.txt
Comparando archivos files.txt y FILESB.TXT
============================== SECTION MODIFIED =============================
file5 |file5
file6 |file7
filelast |filelast
C:\>
您可以从下载FComp.bat程序。您可以很容易地修改此程序,以抑制每个“修改部分”的第一行和最后一行的显示
findstr /x /v /L /g:file1 file2
它将输出文件2中文件1中不存在的任何行。尝试使用
/b
选项查看十六进制格式的差异。可能会有额外的空格或制表符。