我正在嘗試獲取檔案串列,計算它們的哈希值并使用 powershell 將其列印在外部檔案.info上。該檔案必須類似于(一行示例):
4bfc12adfe4842bf07b657f0369c4cb522955686:dist/lib/commons-logging-1.2.jar
分隔符:是強制性的(稍后決議器將使用它)。我嘗試了不同型別的腳本,但沒有完整的結果。
在這里,我只得到了一個帶有哈希值的好檔案,但我找不到添加:relativepath\filename 的方法
Get-FileHash -Algorithm SHA1 -Path (
Get-ChildItem "$WorkPath" -Recurse -Force |
ForEach-Object {$_.FullName}).Hash |
Out-File -FilePath "$WorkPath\us\update.info"
第二個:
Get-ChildItem "$WorkPath" -Recurse -Force | Get-FileHash -Algorithm SHA1 | Select-Object Hash, Path | Out-File -FilePath "$WorkPath\us\update.info"
我試圖洗掉Select-Object Hash, Path或僅Hash, Path洗掉標題,但它也列印演算法......使用完整的命令:
Hash Path
---- ----
沒有那部分:
Algorithm Hash Path
--------- ---- ----
我指定檔案必須只包含 hash:relativepath/filename,而不是標題或其他元素。有人可以幫助我嗎?提前致謝!
uj5u.com熱心網友回復:
一種解決方案可能是獲取所有檔案:
$Files = Get-ChildItem -Path $Dir -Recurse -Force -File
計算每個檔案的哈希值并將其添加到輸出檔案中:
foreach ($File in $Files)
{
$FileHash = Get-FileHash -Path $File.FullName -Algorithm SHA1
Add-Content -Path $Output -Value "$($FileHash.Hash):$($File.FullName)"
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/348791.html
標籤:电源外壳
