如何使用PowerShell比较两个文本文件以查看它们是否相等?

时间:2015-07-24 05:56:17

标签: powershell

我一直在做这样的检查以检查上次修改日期:

{{1}}

如何做类似的事情,但如果文件相同则进行比较。请注意,这些文件始终只是文本文件。

3 个答案:

答案 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实现,不必将两个文件的全部内容保存在内存中进行比较。