gpt4 book ai didi

powershell - Powershell-显示清理(get-filehash结果为.txt文件)

转载 作者:行者123 更新时间:2023-12-03 01:28:27 25 4
gpt4 key购买 nike

这是一种清理/显示问题。我的小powershell脚本将文件夹中的所有.exe文件接收,为每个条目查找多个哈希值,然后将其输出到.txt文件。我的问题是文件中的格式。这是我用来生成这些结果的循环。

$output = foreach($file in $table){
$File.Name
get-filehash -path $file.FullName
get-filehash -path $file.FullName -Algorithm SHA1
get-filehash -path $file.FullName -Algorithm MD5
}
$output | Out-File C:\filepath\file.txt

输出看起来像这样:
Name.exe

Algorithm Hash Path
---------- ---- -----
SHA256 Value C:\Path\Name.exe
SHA1 Value C:\Path\Name.exe
MD5 Value C:\Path\Name.exe
NextFile.exe
SHA256 Value C:\Path\NextFile.exe
SHA1 Value C:\Path\NextFile.exe
MD5 Value C:\Path\NextFile.exe

有没有办法在foreach循环中解决此问题?我知道它很挑剔,但是有没有办法将第一个文件的名称移到列名下方,或者创建一个分节符,并在每个文件名之后添加新的列名?

最佳答案

丢弃单独的文件名输出,传递到Format-Table并使用-GroupBy参数对文件路径上的表进行分组:

$output = foreach($file in $table){
Get-FileHash -Path $file.FullName
Get-FileHash -Path $file.FullName -Algorithm SHA1
Get-FileHash -Path $file.FullName -Algorithm MD5
}

$output |Format-Table -GroupBy Path |Out-File C:\filepath\file.txt

现在,您的输出将按连续文件路径分为不同的表:

Path: C:\path\to\Name.exe

Algorithm Hash Path
--------- ---- ----
SHA256 Value C:\path\to\Name.exe
SHA1 Value C:\path\to\Name.exe
MD5 Value C:\path\to\Name.exe


Path: C:\path\to\NextFile.exe

Algorithm Hash Path
--------- ---- ----
SHA256 Value C:\path\to\NextFile.exe
SHA1 Value C:\path\to\NextFile.exe
MD5 Value C:\path\to\NextFile.exe

-GroupBy支持计算的属性expressoins,因此,如果仅需要文件的 Name,那也是可行的:
$output |Format-Table -GroupBy @{Name='Name';Expression={[System.IO.Path]::GetFileName($_.Path)}} |Out-File C:\filepath\file.txt

...导致这样的事情:

Name: Name.exe

Algorithm Hash Path
--------- ---- ----
SHA256 Value C:\path\to\Name.exe
SHA1 Value C:\path\to\Name.exe
MD5 Value C:\path\to\Name.exe


Name: NextFile.exe

Algorithm Hash Path
--------- ---- ----
SHA256 Value C:\path\to\NextFile.exe
SHA1 Value C:\path\to\NextFile.exe
MD5 Value C:\path\to\NextFile.exe

关于powershell - Powershell-显示清理(get-filehash结果为.txt文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60325280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com