2016-09-30 93 views
0

我試圖拆分動詞/連字符後名稱屬性的列表,並得到它的工作,但我必須先保存到文件。Powershell分裂在管道中

我得到了它這樣的工作 - 抓住Name屬性,並將它們添加到文件 -

Get-Command -Module Posh-SSH | Format-Table Name | out-file posh_ssh 

再拆名單在「 - 」

Get-Content .\posh_ssh | % {$_.split("-")[1]} 

但有一個如何在一行這樣做呢?我不明白爲什麼這不起作用。

Get-Command -Module Posh-SSH | Format-Table Name | % {$_.split("-")[1]} 

謝謝!

+0

謝謝馬特,實現格式表是它的關鍵。真的需要在某個地方問新手問題,例如passthru和tee之間的區別 – JohnRain

回答

1

格式是格式化程序cmdlet,因爲它不會將「true」對象傳遞到管道,所以它不應該在管道的最後一節以外的任何地方使用。 你可以做的反而是使用選擇對象來抓住你想要的東西,像這樣(更換模塊的名稱與模塊我有我自己的計算機上):

Get-Command -Module microsoft.powershell.management | select-object -expand Name | % {$_.split("-")[1]}

這就是說,對於這個特別的問題,請注意,get-command輸出的對象本身是豐富的對象,並且包含一個「名詞」屬性,這就是我所假設的你最終在之後: Get-Command -Module microsoft.powershell.management | select-object -ExpandProperty verb