我使用下面的PowerShell命令:如何將Get-ChildItem -Recurse結果分組到一個輸出表中?
Get-ChildItem -Recurse *.txt
但是,如果有多個結果輸出將是這樣的:
Directory: C:\TestFolder\myfolder\
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- d/m/yyyy hh:MM PM 1234 dragons.txt
Directory: C:\TestFolder\anotherfolder\
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- d/m/yyyy hh:MM PM 66550 jabberwocky.txt
但我想得到一些分組結果形成。
也許是這樣的:
Mode LastWriteTime Length Directory Name
---- ------------- ------ --------- ----
-a--- d/m/yyyy hh:MM PM 1234 C:\TestFolder\myfolder\ dragons.txt
-a--- d/m/yyyy hh:MM PM 66550 C:\TestFolder\anotherfolder\ jabberwocky.txt
或者這樣:
Length FullPath
------ --------
1234 C:\TestFolder\myfolder\dragons.txt
66550 C:\TestFolder\anotherfolder\jabberwocky.txt
你可能得到的想法。我怎樣才能做到這一點,最好以簡單和優雅的方式?
我試過Get-ChildItem -Recurse *.txt | Format-Table
但這並沒有太大的作用。我也檢查了Stack Overflow提出的最相關的類似問題(即「Recurse with PowerShell's Get-ChildItem」等),但迄今爲止還未能提供解決方案。
附錄:
我用help group
,發現group
實際上是我認爲我一直在尋找小命令的確切別名:Group-Object
。如果我這樣做:
Get-ChildItem -Recurse *.txt | Group-Object "FullName"
我得到:
Count Name Group
----- -------- -----
1 C:\TestFold... {C:\TestFolder\myfolder\dragons.txt}
1 C:\TestFold... {C:\TestFolder\anotherfolder\jabberwocky.txt}
但是這需要我額外的步驟來簡化:
Get-ChildItem -Recurse *.txt | Group-Object "FullName" | Select-Object "Name"
它得到:
Name
----
C:\TestFolder\myfolder\dragons.txt
C:\TestFolder\anotherfolder\jabberwocky.txt
如果我真的想要額外的屬性,那麼我想我想「組多個屬性」,使問題有效地重複this other SO question。
但是,所有這些「分組」似乎過度殺傷。是否沒有直接的方式使用Get-ChildItem
來獲得我想要的輸出?
非常感謝您!很高興我決定發佈畢竟。我現在看到我的「答案」實際上是一個糟糕的解決方法,我已經刪除了「答案」並將其納入我的問題中(因爲它不會以任何方式使答案無效)。 Thx再次爲更簡單的解決方案。 – Jeroen