作業ディレクトリ内のディレクトリ構造がどこまで下がっているかを調べる必要があります。レイアウトが次のような場合
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
最初のレベルより深いものは何もないので、それは を返すはずです。
キースほどきれいではなく、間違いなく「ポッシュ」ではありませんが、スケールが良くなるのではないかと思います。
$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)
V3 では、次のような処理を行う必要があります。
Get-ChildItem . -Recurse -Name | Foreach {($_.ToCharArray() |
Where {$_ -eq '\'} | Measure).Count} | Measure -Maximum | Foreach Maximum