PowerShell获取文件哈希清除空行
我使用foreach循环遍历文件,获取路径并在获取散列的命令中替换它:PowerShell获取文件哈希清除空行,powershell,get-filehash,Powershell,Get Filehash,我使用foreach循环遍历文件,获取路径并在获取散列的命令中替换它: $hash = @{} ... defining variables here ... foreach($line in $lines) { Get-FileHash $line -Algorithm md5 | format-list | Where { $_ } | Out-File -Width 200 'hash.txt' -Encoding ascii -Append Get-FileHash $
$hash = @{}
...
defining variables here
...
foreach($line in $lines)
{
Get-FileHash $line -Algorithm md5 | format-list | Where { $_ } | Out-File -Width 200 'hash.txt' -Encoding ascii -Append
Get-FileHash $line -Algorithm sha256 | format-list | Where { $_ } | Out-File -Width 200 'hash.txt' -Encoding ascii -Append
Get-FileHash $line -Algorithm sha512 | format-list | Where { $_ } | Out-File -Width 200 'hash.txt' -Encoding ascii -Append
@('MD5','SHA256','SHA512') | % { Get-FileHash -Algorithm $_ $line } | export-csv hash.csv -Delimiter "," -Append
}
我面临的问题是,文件开头有2行空行,文件结尾有4行空行,下面是输出:
Algorithm : MD5
Hash : xxx
Path : xxx
Algorithm : SHA256
Hash : xxx
Path : xxx
Algorithm : SHA512
Hash : xxx
Path : xxx
如何消除文件开头和结尾的空行?您可以一步格式化所有输出,然后在写入文件之前对其进行修剪:
($lines | foreach{
foreach('MD5','SHA256','SHA512'中的alg){
获取文件哈希$\算法$alg
}
}|格式列表|输出字符串).trim()|输出文件'hash.txt'-编码ascii