使用 Powershell 删除多个特定命名文件夹和其他带有文件的子文件夹

罗伯特

因为我是PowerShell的新手,所以我有以下情况。

我有一个路径 d:\folder 有很多子文件夹和子文件夹 en 文件。在此文件夹结构中,我想删除名称为“Temp”、“History”、“Thumbnails”的所有文件夹以及该特定文件夹名称下的所有文件夹 en 文件。

到目前为止,我已经使用了以下代码$path = "d:\folder\" Get-ChildItem $path -Recurse -Force -Directory | Where-Object {$_.Name -eq 'temp'} | % {Remove-Item $_.FullName}

这仅适用于 1 个文件夹。我找不到多个文件夹的方式?使用此代码,我会弹出询问删除文件夹的问题。有没有办法让这种沉默?

跟随

尝试使用-IncludeGet-ChildItem 上的参数,它可以使用一组名称来“过滤”。这样你就不需要该Where-Object子句。

此外,不需要ForEach-Object循环(别名%),因为 Remove-Item 可以立即处理管道结果:

$path = 'd:\folder'
Get-ChildItem $path -Recurse -Force -Directory -Include 'Temp', 'History', 'Thumbnails' | 
Remove-Item -Recurse -Confirm:$false -Force -WhatIf

通过将-Recurse开关添加到 Remove-Item,当文件夹中有子项时不会弹出。

我添加了安全开关-WhatIf,因此文件夹实际上不会被删除。您只会在控制台中看到发生什么。
一旦您对此感到满意,请移除-WhatIf开关以开始删除

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用PowerShell从文件夹和所有子文件夹中删除所有访问规则?

如何使用Powershell从文件夹的根目录中仅删除子文件夹和子文件夹的内容,而不删除单个文件

如何使用Powershell计算文件夹和子文件夹中的文件

使用 PowerShell 重命名给定目录和子文件夹中没有扩展名的所有文件

使用Powershell创建子文件夹

使用 PowerShell 重命名目录和子文件夹中具有给定名称的批量文件

使用PowerShell删除文件夹的内容

使用Powershell创建多个文件夹

使用Powershell动态查找并替换子文件夹中多个特定文件中的文本

使用PowerShell脚本从所有30天以上的子文件夹中删除文件

使用Powershell计数子文件夹中具有特定名称的文件数

使用Powershell 7zip HEIC 文件,将7zip 存档命名为直接子文件夹的名称,然后从多个子文件夹中删除HEIC 文件

在 Powershell 遍历子文件夹中合并 CSV 文件 - 归档和删除旧文件使用 Target-CSV 的文件夹名称

如何使用PowerShell递归删除带有数字名称的文件夹

如何使用Powershell删除具有特定名称的所有文件夹

使用Powershell 2压缩多个文件夹和文件

如何使用Powershell从文件夹>子文件夹打印文件

使用bat或powershell将具有文件的文件夹拆分为50 MB的子文件夹

使用powershell将多个文件夹重命名为大写而不是文件

使用 Powershell 重命名当前目录中包含文件和子目录的所有文件夹名称

重命名文件夹中的所有文件,并使用PowerShell将名称替换为creationTime

使用子文件夹为每个文件夹运行powershell脚本

使用Powershell删除文件夹中多个csv文件中的空行

Powershell文件和子文件夹文件重命名

使用powershell从特定日期删除文件夹内的文件

使用Powershell的Azure Data Lake子文件夹权限

如何使用Powershell定位Outlook子文件夹

使用Powershell删除SSISDB目录中的SSIS文件夹

Powershell:使用-notmatch语句排除多个文件夹