我一直在做这样的检查以检查上次修改日期:
{{1}}
如何做类似的事情,但如果文件相同则进行比较。请注意,这些文件始终只是文本文件。
答案 0 :(得分:2)
您可以将文件文本比较为字符串。为此,首先将每个文件作为单个字符串,然后将它们进行相等性比较。
$filetext1=[System.IO.File]::ReadAllText("file1.txt")
$filetext2=[System.IO.File]::ReadAllText("file2.txt")
$equal = $filetext1 -ceq $filetext2 # case sensitive comparison
答案 1 :(得分:1)
使用以下,最快和最短的方式来比较所有类型的文件:
$(Get-FileHash $file1).hash -eq $(Get-FileHash $file2).hash
答案 2 :(得分:0)
您可以执行类似
的操作$file1 = get-content file1 -raw
$file2 = get-content file2 -raw
Compare-Object $file1 $file2 -caseSensitive
这将比较文件的内容。这适用于较小的文件。如果您正在使用大文件,请考虑使用md5校验和。请查看以下post示例。
md5与将整个文件读入内存之间的主要区别在于,取决于md5实现,不必将两个文件的全部内容保存在内存中进行比较。