Powershell 无法将文件中的 MD5 值与生成的 MD5 值进行比较
Powershell Unable to compare MD5 values from file with MD5 values generated
我使用 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 中比较对象到对象?
你上面代码的一个问题是你使用 Import-CSV
。您没有将 Import-CSV
返回的对象分配给 $import
,您分配的是 Format-Table
返回的格式化对象数组。如果删除 Format-Table
,您应该能够将 $import.hash
与 $hash.hash
进行比较(尽管您可能需要循环并逐行进行比较)。
我使用 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 中比较对象到对象?
你上面代码的一个问题是你使用 Import-CSV
。您没有将 Import-CSV
返回的对象分配给 $import
,您分配的是 Format-Table
返回的格式化对象数组。如果删除 Format-Table
,您应该能够将 $import.hash
与 $hash.hash
进行比较(尽管您可能需要循环并逐行进行比较)。