在Powershell中对路径列表进行排序

Adr*_*ana 5 sorting powershell path arraylist

我试图排序(从最深的文件夹到根)一个给定路径的列表.

有没有办法通过现有功能实现这一目标?

例:

鉴于:

test\A\directory1
test\B
test\A\directory1\end
test\A
test\C\directory2
test
test\C
test\directdirectory
Run Code Online (Sandbox Code Playgroud)

获得:

test\C\directory2
test\A\directory1
test\directdirectory
test\C
test\B
test\A
test
Run Code Online (Sandbox Code Playgroud)

Lie*_*ers 7

您可以在sort命令中使用表达式按数量排序 \

Sort {($_ -split '\\').Count}, {$_} -Descending
Run Code Online (Sandbox Code Playgroud)

实施例 荣誉给LotPings

@(
'test\A\directory1'
'test\B'
'test\A\directory1\end'
'test\A'
'test\C\directory2'
'test'
'test\C'
'test\directdirectory'
) | Sort {($_ -split '\\').Count}, {$_} -Descending
Run Code Online (Sandbox Code Playgroud)

结果

test\A\directory1\end
test\C\directory2
test\A\directory1
test\directdirectory
test\C
test\B
test\A
test
Run Code Online (Sandbox Code Playgroud)

编辑:正在对第二把钥匙进行排序, 陪审团仍然在那里

排序第二个关键差异