Kag*_*sch 95 file-management windows-10
我批量处理数以万计的 20 kB JPEG 文件,这些文件加起来可达 GB。当我尝试删除旧批次时,Windows 10 的删除率非常低,有时甚至出于某种原因降至零:
这只是我所使用的硬件的一个事实,还是有一些提示和技巧我可以尝试加快这个删除过程?
har*_*ymc 98
从图像看来,您正在通过资源管理器删除文件,这是最慢的方法。
你可以做些什么来改善:
使用Shift+Del删除文件,因此删除的文件不会移动到回收站(无法恢复)
使用类似于(用于del /?查看所有参数)的命令从命令提示符内发出删除:
del /f /q *.* (del in current folder, add `/s` to traverse sub-folders)
del /f /q /s folder
Run Code Online (Sandbox Code Playgroud)小智 30
我不知道为什么 Explorer 这么慢,但您可能会考虑将每批图像放在一个单独的文件系统卷上并快速格式化该卷以删除它们。Windows 10 原生支持将文件挂载为磁盘卷。重新格式化的速度与卷上的内容无关,因为它会忽略现有文件系统而只写入一个新文件系统。
数以万计的 20K 文件听起来不算太多 GB。如果所有实时批次的总大小小于您的物理 RAM,您也可以将它们放在 RAM 磁盘上(使用,例如ImDisk),仍然格式化或卸载卷以删除它们。即使是 RAM 磁盘上的普通递归删除也可能更快,具体取决于导致速度减慢的原因。如果您需要文件在重新启动后继续存在,这显然不是一种选择。
重新格式化以删除的一个缺点是您需要成为提升的管理员。另一个原因是您可能会意外格式化错误的卷,但实际上任何批量删除文件的方法都存在删除错误文件的风险。如果你给卷提供描述性标签,TempJpeg1那么格式化它们可能就像从命令行删除一个巨大的目录一样防错。
Bob*_*Bob 26
至少在此操作期间禁用您拥有的任何防病毒/反恶意软件实时保护。这包括 Windows Defender。还有任何反勒索软件保护(由某些备份程序提供)。
实时保护通常与文件操作挂钩,并且在历史上因大幅减慢涉及大量文件的任何操作而臭名昭著。
如果您觉得有必要,您可以在删除完成后重新启用它们。
小智 10
将此作为命令运行会快很多。启动cmd并运行
RD frames /S /Q
Run Code Online (Sandbox Code Playgroud)
这将删除该文件夹及其中的所有文件和子目录,而不会用它正在删除的每个文件名向屏幕发送垃圾邮件。
RD = remove directory
/S = subdirectories included
/Q = quiet mode
Run Code Online (Sandbox Code Playgroud)
小智 8
每批次创建一个分区,假设为 10GB 左右,完成给定的批量快速格式化分区后。所有文件都在几秒钟内消失。
处理漫游配置文件,我已经看到了很多。根据我的经验,发送任何类型的删除命令都没有使用 Robocopy 将 /MIR 空文件夹发送到目的地那么快。我没有任何原始数据或实际指标表明这比任何已经提到的选项都快,但它比使用 Explorer shell 快得多。
只需创建一个新的空目录,或引用当前的空目录,然后运行以下命令:
robocopy x:\path\to\emptyfolder x:\path\to\delete /MIR /R:1 /W:1 /MT:128 /LOG:x:\path\to\logfile.log
Run Code Online (Sandbox Code Playgroud)
/MIR :: MIRror a directory tree (equivalent to /E plus /PURGE).
/R:1 :: number of Retries on failed copies: default 1 million.
/W:1 :: Wait time between retries: default is 30 seconds.
/MT:128 :: Do multi-threaded copies with n threads (default 8).
n must be at least 1 and not greater than 128.
This option is incompatible with the /IPG and /EFSRAW options.
Redirect output using /LOG option for better performance.
Run Code Online (Sandbox Code Playgroud)
使用 MT 时您需要记录日志,在屏幕上显示输出时肯定存在可测量的延迟。
通过使用 /MT:128 作为一个选项,它会最大化它一次可以“删除”的文件数量。
另请注意,如果这是您第一次使用 Robocopy,您应该使用 /L 标志进行试运行:
/L :: List only - don't copy, timestamp or delete any files.
Run Code Online (Sandbox Code Playgroud)
然后检查日志并确保操作符合您的要求。
参考:
| 归档时间: |
|
| 查看次数: |
58339 次 |
| 最近记录: |