PowerShell在管道后拆分

时间:2017-05-02 06:53:24

标签: powershell split path

我在脚本中使用以下行返回$folder位置所有文件夹的所有路径。

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

这很有效。但是:我只需要每条路径的第四个元素。

我尝试在各个地方添加|{$_.Split("\")}[3]} [3],但我在使用split命令时遇到错误,Expressions are only allowed as the first element of a pipeline.

我已经尝试在各个部分放置括号,并将整个表达式放入括号中并进入拆分但我似乎无法找到将拆分附加到管道的任何部分的方法...是否有另一个方式,也许?

1 个答案:

答案 0 :(得分:5)

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

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