在我所做的工作中,我经常需要重命名和删除文件夹。
按住 Shift 键删除文件夹非常快 - 1-2GB 大概需要 10-20 秒,而重命名同一个文件夹则会立即发生。
我的理解是,当我按住 Shift 键并删除一个文件夹时,Windows 会浏览文件索引并说“空间 x 到 y 不再被这些文件占用”。
我天真地认为 Windows 必须对文件夹重命名执行类似的过程 - 更改文件索引上的 Windows 路径。
有人能否概述一下 Windows 在重命名和删除文件夹时发生的情况?
答案1
重命名文件夹(或文件)需要:
- 检查新名称在父文件夹中是否已存在;
- 覆盖相应目录条目中的名称。
重命名的目录树中的任何子文件夹或文件都不会受到任何影响。
删除目录需要:
- 遍历目录树以查找每个子目录中的每个文件;
- 检查每个文件是否未被使用,并通过修补其目录并将其使用的空间标记为磁盘分配表中的可用空间来删除它;
- 一旦从子目录中删除了所有文件,就删除该目录并腾出其空间,就像文件一样;
- 继续此过程,直到最终删除原始目录。
因此,删除目录的时间取决于文件和子目录的数量以及每个文件和子目录的大小和碎片程度。
另一方面,将目录移动到不同的磁盘或分区需要创建和复制每个子目录中的每个文件,以及删除源目录。