我使用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
如果我呼叫$hash
:http://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中的对象到对象?
答案 0 :(得分:1)
上面代码的一个问题是您使用Import-CSV
。您没有将Import-CSV
返回的对象分配给$import
,而是指定Format-Table
返回的格式化对象数组。如果您放弃Format-Table
,则应该能够将$import.hash
与$hash.hash
进行比较(尽管您可能需要循环并逐行比较)。