2017-05-02 59 views
2

我在脚本中使用以下行来返回位于$folder位置的所有文件夹的所有路径。PowerShell分割后管道

dir -recurse $folder|?{$_.PSIsContainer}|select -ExpandProperty FullName 

This works。但是:我只需要每条路径的第四个元素。

我试着加入|{$_.Split("\")}[3]}在各地的[3]但我正在逐渐与分割命令是错误的,那Expressions are only allowed as the first element of a pipeline.

我试图把括号各个部分,并把整个表达式放在括号并进入拆分,但我似乎无法找到一种方法来将分割连接到管道的任何部分......有没有其他方法,也许?

回答

2

你快到了。您需要将代码放在Foreach-Object cmdlet内:

Get-ChildItem -recurse $folder| 
    Where-Object {$_.PSIsContainer}| 
    Select-Object -ExpandProperty FullName | 
    ForEach-Object {    
     $_.Split("\")[3]   
    } 
+0

太棒了!谢谢。 – ToshiBoy