我有两个 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)