如何在 Windows 中对两个大文件进行二进制比较?

如何在 Windows 中对两个大文件进行二进制比较?

我有两个 4GB 的临时文件。

我使用十六进制编辑器进行了快速目视检查,发现它们看起来相同。是否有命令可以在 PowerShell 之类的程序中使用,对两者进行二进制比较,以便确定它们是否相同?

答案1

正如 @dhiwakar-ravikumar 已经已回答,您可以使用“文件比较“”(fc)Windows 命令用于比较两个文件(或文件集),并使用参数/b进行二进制比较。

但是,需要注意的是,与“cmd”命令 shell 相反,在 PowerShell 中,命令必须拼写为fc.exe以避免“ fc”别名Format-Custom优先。如下所示:

fc.exe /b [<Drive1:>][<Path1>]<FileName1> [<Drive2:>][<Path2>]<FileName2>

另请注意,如果要比较的文件的扩展名是.exe.com.sys.obj或之一,.lib.bin默认执行二进制比较,并且/b可以省略参数来获得相同的结果。

答案2

Windows 中有一个命令可以对两个文件进行二进制比较

fc /b <filename1> <filename2>

了解更多信息 - https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/fc.mspx?mfr=true

这在 Windows 7 上同样有效

如果你正在寻找工具,那么已经有答案了 -https://stackoverflow.com/questions/8166697/tool-for-comparing-2-binary-files-in-windows

答案3

Total Commander 64 位版的内部比较工具可以很好地处理 2GB 以上的文件。(文件 -> 按内容比较)

答案4

fc.exe 在 PowerShell 中运行良好,但为了完整性,我在下面添加了 PowerShell 文档版本的比较:

Compare-Object -ReferenceObject $(Get-Content textout.txt) -DifferenceObject $(Get-Content textout1.txt)

相关内容