2016-09-30 54 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