PowerShell在管道后拆分

4nd*_*ndy 4 powershell split path

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

dir -recurse $folder|?{$_.PSIsContainer}|select -ExpandProperty FullName
Run Code Online (Sandbox Code Playgroud)

这可行。但是:我只需要每个路径的第四个元素。

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

我试过在各个部分加上括号,然后将整个表达式放在括号和拆分中,但是我似乎找不到找到将拆分附加到管道任何部分的方法...还有另一种方法,也许?

Mar*_*ndl 5

你快到了 您需要将代码放入Foreach-Objectcmdlet中:

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