Windows环境下如何批量删除文件数量少于X个的所有文件夹
删除文件数量少于指定数量的子文件夹
我有一个存放AI实验的文件夹,里面有大量子文件夹——每次参数变更都会生成新文件夹,部分文件夹里只有1-2个文件。想知道怎么删除所有包含文件数量少于X个的文件夹,目前还没找到思路。
解决方案
可以使用以下PowerShell脚本实现需求,已验证可行:
Get-ChildItem -Directory -Recurse -Depth 5 | ForEach-Object { $directory = $_.FullName $fileCount = (Get-ChildItem $directory | Measure-Object).Count if ($fileCount -le 10) { Remove-Item -Recurse -Force $directory } }
脚本自定义说明
- 调整目标文件数量:把脚本中的
10替换为你需要的X值,比如要删除文件数少于3的文件夹,就改成$fileCount -le 2。 - 控制遍历深度:
-Depth 5表示最多遍历到第5层子文件夹,可根据实际目录结构修改数值,删除该参数则会遍历所有层级。 - 安全测试建议:执行删除前,建议先去掉
Remove-Item -Recurse -Force $directory这一行,或者添加-WhatIf参数(即Remove-Item -Recurse -Force $directory -WhatIf),这样会预览将要删除的文件夹,避免误删重要内容。
内容的提问来源于stack exchange,提问作者TauTau
相关产品推荐
相关产品推荐

