Powershell无法将文件中的MD5值与生成的MD5值进行比较

时间:2015-01-26 02:42:47

标签: windows powershell compare md5 cmdlets

我使用Powershell的Get-FileHash函数从项目中的目录生成了MD5校验和值列表,然后将值导出到.csv文件。

$path = "C:\Users\Krishnaa\Documents\Visual Studio 2012\Projects\NamePrint\NamePrint\obj\Debug"

$hash = Get-FileHash -Path $path\* -Algorithm MD5

$export = $hash | Export-csv $path\hashfile.csv

如果我呼叫$hashhttp://i.stack.imgur.com/Owi0Q.png

,这就是输出的样子

然后我将.csv文件导回Powershell控制台。

$import = Import-csv $path\hashfile.csv | Format-Table

当我致电$import时,会输出:http://i.stack.imgur.com/cqvsO.png

当我创建一个我自己的简单函数来比较两个内容时,我会遇到问题,即它说内容不匹配。我知道.csv中的每一行都被Powershell视为一个对象。如何比较Powershell中的对象到对象?

1 个答案:

答案 0 :(得分:1)

上面代码的一个问题是您使用Import-CSV。您没有将Import-CSV返回的对象分配给$import,而是指定Format-Table返回的格式化对象数组。如果您放弃Format-Table,则应该能够将$import.hash$hash.hash进行比较(尽管您可能需要循环并逐行比较)。