尝试自学:当处理整个项目树时
get-childitem -recurse
我经常不得不从叶子级别到顶层进行操作(例如,删除文件和文件夹,修改树的上层然后尝试处理下层会出现问题。
为了解决这个问题,我不得不通过路径中分隔符的数量对整个集合进行排序,以便首先得到叶子级别,然后是树的上层:
$someFiles = Get-ChildItem -Recurse |
Sort @{Expression={ ( $_.fullname | select-string "\\" -AllMatches ).matches.count };
Descending=$true }
这感觉不对-我有限的编程经验,但我知道如果我按正确的方式遍历树,则不需要进行这种昂贵和笨拙的排序。 但是,-recurse非常方便!
有什么更聪明的方法来做到这一点吗? 具体而言,是否有一种方法可以从叶子到上层遍历使用get-childitem获取的树,而无需对所有结果进行排序?