Есть ли способ создать "отслеживаемую" ссылку (~ жесткую ссылку) на папку в Windows (в частности, Windows XP)?

Предположим, что есть:

  • папка и
  • точка соединения или символическая ссылка на эту папку

Когда исходная папка перемещается в новое местоположение, происходит сбой как точки соединения, так и символической ссылки (указывают на потерянное местоположение). Сбой ссылки - это не тот случай, когда создается жесткая ссылка на файл. Любая жесткая ссылка на файл может быть перемещена в другие папки, и она все равно будет указывать на тот же физический файл на жестком диске.

Есть ли способ создать "ссылку" на папку, чтобы при перемещении папки ссылка "отслеживала" местоположение этой папки и продолжала работать после операции перемещения?

Если нет, то почему это невозможно.

1 ответ

Вы можете использовать junction.exe из пакета SysInternals для создания жестких ссылок на каталоги в XP.

Создание жестких ссылок на файлы можно выполнить с помощью утилиты fsutils (командная строка).

Однако то, что вы просите, не существует в NTFS. Я нашел приличное изложение реализаций NTFS "Жесткие ссылки", "Точки соединения" и "Мягкие ссылки", но, что касается того, о чем ты спрашиваешь, точки соединения - это версия каталогов / папок жестких ссылок файлов в NTFS. И, в отличие от жестких ссылок, они не будут обновляться, если их цель будет перемещена или удалена. Что касается того, почему это так, потому что именно так Microsoft решила реализовать точки соединения в своей файловой системе.

Согласно комментарию Майкла Хэмптона, я немного погуглил о жестких ссылках на каталоги, и хотя я не смог найти что-то от Microsoft сразу же, как это связано с настоящими жесткими ссылками, создающими петли в структуре каталогов, я нашел кое-что из Unix и Linux .SE с хорошим объяснением проблемы, и основы одинаковы, так что, возможно, стоит прочитать.

Другие вопросы по тегам