【发布时间】:2013-05-29 19:14:12
【问题描述】:
我必须每天删除很多文件(200k+),所以我编写了一个批处理文件来执行以下调用:
del *.* /S /F /Q
我不关心生成的任何文件,所以*.* 很好。这些文件按字母顺序被删除,但它们仍然需要几分钟,我想加快速度。我认为以相反的字母顺序删除文件会很好,因为这样我就可以并行执行两个批处理文件。我知道 python 脚本会很容易做到,但我想知道是否有办法在批处理文件中做到这一点。如果您有更简单的方法,我愿意接受建议。
【问题讨论】:
-
并行执行 2 个脚本甚至可能会减慢这个过程,因为 HDD 磁头将不得不来回跳过。
-
@David:非常好的观点。使用现代 SSD 问题不大,但仍然 - 并行执行是一种用于处理受 CPU 限制而不是 I/O 限制的性能问题的工具。另一方面,发出一堆重叠的异步请求可以让驱动控制器对它们进行电梯分类,这可以显着提高旋转介质的吞吐量。或者只是允许头部流式写入,而在请求之间必须返回到用户模式程序的同步调用可能会错过最后期限并需要整个额外的轮换。
-
@Ben Voigt:这方面还没有运气。总是得到更糟糕的结果。
-
@DavidJashi:电梯分类传统上只能在企业级 RAID 控制器中找到。值得庆幸的是,SSD 现在是商品硬件,可以绕过所有与寻道时间相关的问题。
-
您可以使用 Aacini 的多任务批处理来加快您的删除过程。