В работе, которую я делаю, мне часто приходится переименовывать и удалять папки.

Удаление папки с помощью Shift происходит довольно быстро - возможно, 10-20 секунд для 1-2 ГБ, а переименование той же папки происходит мгновенно.

Насколько я понимаю, когда я удаляю или удаляю папку, Windows просматривает индекс файла и говорит, что «пространство от x до y больше не занято этими файлами».

Наивно, я подумал, что Windows придется сделать аналогичный процесс для переименования папки - изменение пути Windows в индексе файла.

Может ли кто-нибудь дать общий обзор того, что происходит с окнами, когда они переименовывают и удаляют папки?

1 ответ1

6

Переименование папки (или файла) требует:

  • проверка того, что новое имя еще не существует в родительской папке;
  • перезаписать имя в соответствующей записи каталога.

Никакие подпапки или файлы в переименованном дереве каталогов никак не затрагиваются.

Удаление каталога требует:

  • обход дерева каталогов для поиска каждого файла в каждом подкаталоге;
  • проверка каждого файла, который не используется, и удаление его путем исправления его каталога и маркировки используемого пространства как доступного в таблице распределения дисков;
  • как только все файлы были удалены из подкаталога, удаление каталога и освобождение его места, как для файла;
  • продолжая этот процесс, пока в конечном итоге исходный каталог не будет удален.

Следовательно, время удаления каталога зависит от количества файлов и подкаталогов, а также от размера и степени фрагментации каждого из них.

С другой стороны, перемещение каталога на другой диск или раздел требует создания и копирования каждого файла в каждом подкаталоге, а также удаления исходного каталога.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .