2017-05-02 99 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