删除下一级的文件和文件夹
Delete files and folders 1 level down
我对清除共享文件夹有一些特定要求。共享文件夹叫"staff",下面是每次使用的个人文件夹(一共大概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 级后开始。
不递归枚举\fileserver\staff
的子文件夹,排除"Bob"和"Brewster",然后枚举其余子文件夹的内容,递归删除
Get-ChildItem '\fileserver\staff' -Directory -Exclude 'Bob', 'Brewster' |
Get-ChildItem -Force |
Remove-Item -Recurse -Force -WhatIf
在确认该语句只会删除它应该删除的内容后,删除参数 -WhatIf
。
我对清除共享文件夹有一些特定要求。共享文件夹叫"staff",下面是每次使用的个人文件夹(一共大概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 级后开始。
不递归枚举\fileserver\staff
的子文件夹,排除"Bob"和"Brewster",然后枚举其余子文件夹的内容,递归删除
Get-ChildItem '\fileserver\staff' -Directory -Exclude 'Bob', 'Brewster' |
Get-ChildItem -Force |
Remove-Item -Recurse -Force -WhatIf
在确认该语句只会删除它应该删除的内容后,删除参数 -WhatIf
。