我对清除共享文件夹有一些特定要求。共享文件夹称为“工作人员”,在此之下是每次使用的个人文件夹(总共可能有60个),里面充满了废话。
我需要删除每个用户文件夹中的废话(文件和子文件夹的混合),但保留用户文件夹本身。
我也希望根据名称排除一些用户文件夹。
当前看起来像这样:
\\fileserver\staff
Bill
Subfolder1
Subfolder2
File1
File2
File3
Bob
File1
File2
File3
Brewster
SubFolder1
Subfolder2
Subfolder3
File1
Brian
Subfolder1
File1
File2
File3
假设我要排除名为“ Bob”和“ Brewster”的用户文件夹,结果将如下所示
\\fileserver\staff
Bill
<empty>
Bob
FileA
FileB
FileC
Brewster
SubFolder1
Subfolder2
Subfolder3
File1
Brian
<empty>
我一直在尝试Get-Childitem
和Remove-Item
,但是可以使recurse
工作,也可以使exclude
不能工作。另外,我不确定如何指定从“ Staff”向下1级后开始。
答案 0 :(得分:2)
枚举\\fileserver\staff
的子文件夹而无需递归(不包括“ Bob”和“ Brewster”),然后枚举其余子文件夹的内容并递归删除。
Get-ChildItem '\\fileserver\staff' -Directory -Exclude 'Bob', 'Brewster' |
Get-ChildItem -Force |
Remove-Item -Recurse -Force -WhatIf
在验证语句只会删除它应删除的内容后,删除参数-WhatIf
。