如果一个目录下面有 60 万个左右的文件分布在 3~4 层不同的子目录里,删除的时间相当长
不了解 Win 的处理文件机制,用资源管理器 + Del 键是最慢的,用 commandline 的 rd /s 也是够慢的。。。
似乎 Windows 的机制就是在删除前,还要历遍一次,数一下有多少个文件
有没有什么工具软件,只是把目录从表里面移走,原来文件占的空间让后来的文件去覆盖就可以了
以前记得好像有这样的工具,但一下子搜索,却找不着。。。
1
msg7086 2020-01-07 11:37:29 +08:00
一般也就是 rd/s 和 rsync 两种。但是 rd/s 应该已经足够快了。
文件删除本来大头就在改 MFT 吧,换工具应该不会差太多时间。 |
2
qazwsxkevin OP @msg7086 rd/ s 还是觉得慢,觉得删除东西不应该是这样子等的。。。
在 I/O 无法改变的时候,是否有好的办法。。。 |
3
Vhc001 2020-01-07 11:52:31 +08:00
DiskGenius
|
4
litmxs 2020-01-07 11:54:09 +08:00 via Android
把磁盘其他文件备份一下,然后格式化?
|
5
sunnyadamm 2020-01-07 11:57:19 +08:00
装个 wsl 后用子系统删除
|
6
HuHui 2020-01-07 12:29:36 +08:00 via Android 5
搞 node 搞前端的同学应该知道😊
|
7
whi147 2020-01-07 12:35:28 +08:00
我是 windows 开发,我来发炎。使用 everything,然后用正则表达式之类的筛选文件然后全选删除
|
8
ddosakura 2020-01-07 12:54:36 +08:00 via Android
回收站设置一下⸺直接删除,不移入回收站。时间长是因为被移入回收站了。
|
9
Mithril 2020-01-07 13:38:20 +08:00 1
del /f /s /q * >nul
这命令不会提前刷一遍文件夹内所有文件,就是有多少删多少。 删完了再来一遍 rd 删除文件夹结构 这远比你单纯用 rd 快 |
10
yEhwG10ZJa83067x 2020-01-07 13:42:30 +08:00
搞个虚拟机,这个盘挂共享盘,然后 rm 删除试试 不知道行不行
|
11
iwishing 2020-01-07 14:11:33 +08:00
改文分配件表是最快的
|
12
nobody123 2020-01-07 14:48:46 +08:00
我搞过复制的,用 FastCopy
或者命令行 Robocopy /s |
13
crella 2020-01-07 17:31:00 +08:00 via Android
……不同的场景,因为 cmd 删 chrome 的缓存目录,遍历要好久。
我先用 ruby 遍历 Dir.entries,再 File.unlink 每个文件名。竟然比 cmd 还要快…… |
14
xiaojun1994 2020-01-07 18:46:57 +08:00
我删 node_modules 用 rimraf 挺快的
|
15
mxT52CRuqR6o5 2020-01-07 19:09:41 +08:00 via Android
@HuHui 换 mac 或 linux😁,windows 删除慢我觉得是 ntfs 天生的没得救
|
16
HuHui 2020-01-08 08:41:04 +08:00 via Android
@mxT52CRuqR6o5 三平台都在用
|