小编Bet*_*o69的帖子

输出前对带有Get-FileHash的Get-ChildItem结果进行排序

我尝试编写Windows PowerShell脚本。我需要从目录树中的所有文件中获取文件哈希。

这是我到目前为止所得到的:

Get-ChildItem -Path "c:\temp\path" -Recurse -Force -Attributes !Directory | % {Get-FileHash $_.Fullname} | Out-File "c:\temp\report_file.txt"
Run Code Online (Sandbox Code Playgroud)

文件c:\temp\report_file.txt是这样的:

Algorithm Hash Path                                                                         
--------- ---- ----                                                                         
SHA256 E3B0C44298...E4649B934CA495991B7852B855 c:\temp\path\report1.txt                                                        
SHA256 7B989C1C95...6756624B3887E501DCC377DB23 c:\temp\path\report2.txt                                                       
SHA256 EA0155401C...A6D44F1DEBB95E401AEFF4F908 c:\temp\path\report3.txt                                                      
SHA256 06DAA0E452...32E3F3104EA4564EAB67CA6A0A c:\temp\path\report4.txt                                                     
**SHA256 9C7C9FEA96...45F460BA9015C8F0A5CA830B6B c:\temp\path\report5.txt**              
Run Code Online (Sandbox Code Playgroud)

一切正常。

期望:
我每天多次运行此cmdlet。有时会在此目录树中删除并重新创建文件。而且...输出文件中文件的顺序是不相同的。在下面的示例中report5.txt,报告文件中的文件必须在最后一行,但在第二行。我想这是因为选择了递归选项。我需要此递归选项。当我在没有子目录的目录上运行cmdlet时,结果始终是相等的。但是,在带有子目录的目录(目录树)上时-不。

Algorithm Hash Path                                                                         
--------- ---- ----                                                                         
SHA256 E3B0C44298...E4649B934CA495991B7852B855 c:\temp\path\report1.txt                                                        
**SHA256 9C7C9FEA96...45F460BA9015C8F0A5CA830B6B c:\temp\path\report5.txt**              
SHA256 7B989C1C95...6756624B3887E501DCC377DB23 c:\temp\path\report2.txt                                                       
SHA256 EA0155401C...A6D44F1DEBB95E401AEFF4F908 c:\temp\path\report3.txt                                                      
SHA256 06DAA0E452...32E3F3104EA4564EAB67CA6A0A c:\temp\path\report4.txt                                                     
Run Code Online (Sandbox Code Playgroud)

这是一种解决方案,可以在将数据输出到报告文件之前,按列全路径对所有数据进行排序吗?

sorting powershell

2
推荐指数
1
解决办法
962
查看次数

标签 统计

powershell ×1

sorting ×1