我不能想出一个办法来递归删除除每个文件夹中的子子目录中称为“广播”电源外壳卸下项递归子目录3级下调
Dir
->subdir1
-->main
-->broadcast
->subdir2
-->main
-->broadcast
->test
我想所有的文件夹保留所有subdir#\广播文件夹和测试文件夹。 问题与下面这段代码是,这消除在以下几个递归subdir1和subdir2,从而消除分次目录
Get-ChildItem -Path $copy_file -Recurse |
Select -ExpandProperty FullName |
Where {$_ -notlike '*broadcast\*' -and $_ -notlike '*testing*'} |
sort length -Descending |
Remove-Item -force
,因为这个名单,我得到我的时候我排序不能使用-force/A包括subdir1和subdir2 ...
It does prompt me "This item has children..."
[Y] Yes [A] Yes to all... [L] No to all
我不希望它自动选择L
有什么建议?预先感谢您......我看过但找不到我正在寻找的确切解决方案。
你应该有2个循环。首先获取'$ copy_file'的直接子元素(而不是递归)。从你的问题你不想删除任何这些。然后为每个文件夹运行他们的孩子的第二个循环。从他们的过滤。在'Get-ChildItem'中使用'-Directory'也应该有帮助。 – Matt
好主意马特,唯一的问题是我有X量的子目录:( –
可能重复的[删除所有文件和文件夹,但排除目录](http://stackoverflow.com/questions/14775672/delete-all-files-和 - 文件夹,但不包括一个目录) – user4317867