Поэтому при копировании файлов в Windows на резервный диск я столкнулся с проблемой «Слишком длинный путь назначения» и не смог скопировать несколько вложенных файлов. Но что интересно, когда я заархивировал папку, скопировал zip, а затем распаковал ее, все заработало! Я проверил содержимое, и все, кажется, в порядке. Обратите внимание, что я использовал стороннюю программу zip, 7zip. Из некоторых онлайн-поисков кажется, что более распространенным методом является использование robocopy, но, очевидно, вы также можете скопировать вложенную папку в более высокий каталог на целевом диске и затем просто переместить ее в соответствующее вложенное местоположение.

Я пытаюсь понять, почему это работает. Согласно этой статье окна имеют максимальную длину для имени файла , но по какой-то причине во время операций копирования он проверяет длину всего пути к файлу. Зачем это делать? Более конкретно, вещи, которые я хочу знать,

  1. Почему это работает? Как имена файлов и пути к файлам хранятся и отслеживаются?
  2. Почему я смог создать такую ​​глубоко вложенную структуру, если Windows говорит, что при копировании путь к файлу слишком длинный? Опасно ли создавать такие глубоко вложенные структуры?
  3. Если Windows проверяет длину пути файла вместо длины имени файла во время операций копирования, почему?

Может ли кто-нибудь с большим знанием позади файловых систем встраиваться?

woojoo666
источник