如何结合Get-ChildItem和Get-FileHash输出?电源外壳

时间:2020-06-19 17:49:27

标签: powershell get-childitem get-filehash

我想获取文件名称表-哈希表,以文件夹中的.gz结尾

过滤效果很好: $ kubectl exec -n tenant1 -it grafana-app -- /bin/sh / ### POSTGRES SAME NAMESPACE ### / # wget -O- postgres-app:8080 Connecting to postgres-app:8080 (10.1.20.92:8080) Hello, world! Version: 1.0.0 Hostname: postgres-app / ### GRAFANA OTHER NAMESPACE ### / # wget -O- --timeout=1 http://grafana-app.tenant2.svc.cluster.local:8080 Connecting to grafana-app.tenant2.svc.cluster.local:8080 (10.1.17.50:8080) Hello, world! Version: 2.0.0 Hostname: grafana-app / ### POSTGRES OTHER NAMESPACE ### / # wget -O- --timeout=1 http://postgres-app.tenant2.svc.cluster.local:8080 Connecting to postgres-app.tenant2.svc.cluster.local:8080 (10.1.29.215:8080) wget: download timed out 出一张桌子:

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命令 只给我alg和没有名字的哈希。.

powershell -command " Get-ChildItem -Filter 'L04\*.gz' | ls | Get-FileHash -Algorithm MD5| Select Name,Algorithm,Hash"

请帮助我也获得名字

2 个答案:

答案 0 :(得分:1)

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

如果您希望更改,可以进行

Select-Object @{Name = 'Name'; Expression = {[System.IO.Path]::GetFileName($_.Path)}}, Algorithm, Hash

答案 1 :(得分:1)

Command-Alt-7

结果:

$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]}}

HTH