0

我想获得文件的名称算法哈希表,以文件夹中的 .gz 结尾

过滤效果很好: powershell -command " Get-ChildItem -Filter 'L04\*.gz' | Select Name" 给一个表格:

Name
v300040828_run20_L04_62_1.fq.gz 
v300040828_run20_L04_62_2.fq.gz

但是带有哈希的 upgreid 命令powershell -command " Get-ChildItem -Filter 'L04\*.gz' | ls | Get-FileHash -Algorithm MD5| Select Name,Algorithm,Hash" 只给我 alg 和没有名称的哈希。

   Name Algorithm Hash
      MD5 08B622CFAB1254DE77DEE2B86B8566C5
      MD5 BB0ACF3AE1F9E67BAF8F64736221D401

请帮助我获得名字

4

2 回答 2

1
$GCIArgs = @{Path   = "G:\BEKDocs\Scripts\DiskSpaceGUI"
             Filter = '*.ps1'}
Get-ChildItem  @GCIArgs |
  Get-FileHash -Algorithm MD5|
  Select-Object Algorithm,Hash,@{
      n="Name";e={($_.Path).Split("\")[-1]}}

结果:

Algorithm Hash                             Name                   
--------- ----                             ----                   
MD5       FDD38964CA6EC73C01FB5097E8EFFE9E DiskSpaceGUI-V1-0.ps1  
MD5       2991850091CA66634BC9287E00FB086C DiskSpaceGUI-V2-0.1.ps1
MD5       2991850091CA66634BC9287E00FB086C DiskSpaceGUI-V2-0.ps1  
MD5       A9ECA8BF38D57D953E51C11D3F881A4F DiskSpaceGUI-V2-1.ps1  
MD5       E265F9DCCC1BE106C71789F6040DBAEB DiskSpaceGUI-V2-3.ps1  
MD5       FB287373331EB4716FAF0CFC99FF2390 DiskSpaceGUI-V2-4.ps1  
MD5       B370CD26B814B63A5779CB4BD1630E9F DiskSpaceGUI.ps1       

高温高压

于 2020-06-19T19:05:19.140 回答
1

Get-FileHash 返回一个具有属性PathAlgorithm的对象Hash
路径是文件的全名。

如果你想改变,你可以做

Select-Object @{Name = 'Name'; Expression = {[System.IO.Path]::GetFileName($_.Path)}}, Algorithm, Hash
于 2020-06-19T18:02:08.950 回答