【发布时间】:2012-03-02 00:41:00
【问题描述】:
试图教育自己:在处理来自
的整个项目树时get-childitem -recurse
我经常需要从叶子层到顶层进行(例如,删除文件和文件夹,修改树的上层然后尝试处理较低的层是有问题的。
为了解决这个问题,我采用了按路径中分隔符的数量对整个集合进行排序,首先获取叶级别,然后是树的上层:
$someFiles = Get-ChildItem -Recurse |
Sort @{Expression={ ( $_.fullname | select-string "\\" -AllMatches ).matches.count };
Descending=$true }
这感觉不对 - 我的编码经验有限,但我知道如果我只是以正确的方式遍历树,那么这种昂贵且愚蠢的排序应该是不必要的。但是-recurse 太方便了!
有什么更聪明的方法来做到这一点?具体来说,有没有办法用get-childitem从叶子向上遍历树,不需要对所有结果进行排序?
【问题讨论】:
标签: powershell