【发布时间】:2014-09-03 12:42:13
【问题描述】:
我正在尝试递归删除目录的所有文件和子文件夹,但包含 DoNotDelete.txt 文件及其任何子文件的文件夹和子文件夹除外(即使他们没有该文件)。
根据我在另一个帖子中找到的一些建议,我想出了这个解决方案:
在本例中,我想保留文件夹 E:\testFolder\testF1\blablabla 及其子文件夹。
(Get-ChildItem E:\testFolder -recurse | select -ExpandProperty fullname) -notlike '*blablabla*' | sort length -descending | remove-item -Recurse -WhatIf
该脚本仅部分按预期工作 - 它跳过删除文件夹 'blablabla' 及其子文件夹,但仍删除其父文件夹(文件夹 testF1) - 这使得整个努力毫无意义:
…
如果:对目标“E:\testFolder\testF1”执行“删除目录”操作。
…
如何防止删除目录树中的父级及其所有直系祖先?
【问题讨论】:
标签: powershell recursion directory parent-child delete-file