我需要找出工作目录中的目录结构有多远。如果布局类似于
Books\
Email\
Notes\
Note 1.txt
Note 2.txt
HW.docx
那么它应该返回1
,因为最深的项目在1
下面。但如果它看起来像
Books\
Photos\
Hello.c
那么它应该返回0
,因为没有比第一级更深的了。
我需要找出工作目录中的目录结构有多远。如果布局类似于
Books\
Email\
Notes\
Note 1.txt
Note 2.txt
HW.docx
那么它应该返回1
,因为最深的项目在1
下面。但如果它看起来像
Books\
Photos\
Hello.c
那么它应该返回0
,因为没有比第一级更深的了。
像这样的东西应该可以在 V3 中解决问题:
Get-ChildItem . -Recurse -Name | Foreach {($_.ToCharArray() |
Where {$_ -eq '\'} | Measure).Count} | Measure -Maximum | Foreach Maximum
它不像 Keith 那样漂亮,并且可以说不像 Keith 那样“时髦”,但我怀疑它可能会更好地扩展。
$depth_ht = @{}
(cmd /c dir /ad /s) -replace '[^\\]','' |
foreach {$depth_ht[$_]++}
$max_depth =
$depth_ht.keys |
sort length |
select -last 1 |
select -ExpandProperty length
$root_depth =
($PWD -replace '[^\\]','').length
($max_depth -$root_depth)