我的“临时 Internet 文件”中有超过 2,000,000 个(没错,超过 200 万个)文件。
此问题是由运行脚本的计划任务导致的。安装 Visual Studio 后,每次运行时都会生成大量“Assembly Binder Log Entry”.HTM 文件。
它每隔 15 分钟就会这样8个月。因此现在里面有超过 2,000,000 个和 8 GB 大小的文件(难怪 WinDirStat 和 Everything 都崩溃了!)。
如何删除一个文件夹而不遍历其所有 2,000,000 个内容?
我尝试在资源管理器中打开父文件夹并直接按下Del键。然后 Windows 继续尝试将 2,000,000 个文件发送到回收站(没有成功)。它从未通过“发现项目”阶段。
我接下来使用了 PowerShell ( Remove-Item 'Content.IE5'
),但它试图递归遍历每个文件并单独删除它们。虽然这似乎最终会起作用,但我觉得一定有更好的方法。
如果您能告诉我 Assembly Binder Log Entry 文件到底是什么的话,我将获得加分...
答案1
根据 StackOverflow 上的一个类似问题,您可以做几件事。引用评分最高的答案(不是被接受的答案),完成此类任务的最佳方法是:
我发现最好的方法是使用两行批处理文件,第一遍删除文件并输出到 nul,以避免为每个单个文件写入屏幕的开销。第二遍清理剩余的目录结构:
> del /f/s/q foldername > nul
> rmdir /s/q foldername
显然,您需要调整这个答案以适合您的特定目的,因为您要删除一系列文件而不是文件夹。
该用户建议(我同意)完成此任务最糟糕的方法是全选,Del其次最糟糕的方法是全选Shift+Del
恐怕我不知道日志条目文件是什么。
来源 -堆栈溢出
答案2
尝试这个:
开始 > 运行 > cmd > cd 到所需目录
进入所需目录或父目录后,输入 del (例如)C:\Users\username\Desktop*desiredfile.ext
这将删除文件而无需确认。
答案3
关闭 8+3 文件名,从命令行删除,然后重新打开 8+3。一旦超过前几万个文件,跟踪这组额外的文件名会增加开销。