使用exclude从文件夹结构中删除文件

时间:2017-09-29 05:29:03

标签: powershell powershell-v4.0

目前我正在尝试删除文件夹结构中的文件

Get-ChildItem -Path E:\root -Include *.* -File -Recurse -Exclude E:\root\subfolder1 | foreach {$_.Delete()}

脚本必须删除子文件夹中除子文件夹1以外的所有文件,而不删除子文件夹。我没有开始工作的是排除" subfolder1"中的文件。

我正在尝试这样的事情

{{1}}

1 个答案:

答案 0 :(得分:1)

由于您要排除的子文件夹始终直接位于根文件夹下,因此我将分两步执行处理:

  • 枚举根文件夹的子文件夹,并排除subfolder1
  • 枚举其余文件夹中的所有文件并将其删除。

这样的事情:

$root     = 'root'
$excludes = 'subfolder1'

Get-ChildItem $root -Directory -Exclude $excludes | ForEach-Object {
    Get-ChildItem $_.FullName -File -Recurse -Force | Remove-Item -Force
}