Создание символьных ссылок

Функция CreateSymbolicLink позволяет создавать символьные ссылки, используя абсолютный или относительный путь.

Символические ссылки могут быть абсолютными или относительными. Абсолютные ссылки — это ссылки, указывающие каждую часть имени пути; относительные ссылки определяются относительно того, где описатели относительные ссылки находятся в указанном пути. Относительные ссылки указываются с помощью следующих соглашений:

  • Соглашения о точках (. и ..), например ". \" разрешает путь относительно родительского каталога.

  • Имена без косой черты (\) — например, "tmp" разрешает путь относительно текущего каталога.

  • Корневая относительная— например, "\Windows\System32" разрешается в "текущий диск:\Windows\System32". directory.

  • Текущий рабочий каталог, относительный— например, если текущим рабочим каталогом является "C:\Windows\System32", "C:File.txt" разрешается в "C:\Windows\System32\File.txt".

    Примечание Если указать относительную связь текущего рабочего каталога, она создается как абсолютная связь из-за того, как текущий рабочий каталог обрабатывается на основе пользователя и потока.

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

Символические ссылки могут указывать непосредственно на удаленный файл или каталог с помощью UNC-пути.

Относительные символьные ссылки ограничены одним томом.

В этом примере исходный путь содержит компонент "x", который является абсолютной символьной ссылкой. При обнаружении "x" фрагмент исходного пути вплоть до "x" полностью заменяется путем, на который указывает "x". Оставшаяся часть пути после "x" добавляется к этому новому пути. Теперь он становится измененным путем.

X: "C:\alpha\beta\absLink\gamma\file"

Ссылка: "absLink" сопоставляется с "\\machineB\share"

Измененный путь: "\\machineB\share\gamma\file"

В этом примере исходный путь содержит компонент "x", который является относительной символьной ссылкой. При обнаружении "x" x полностью заменяется новым фрагментом, на который указывает "x". Остаток пути после "x" добавляется к новому пути. Все точки (..) в этом новом пути заменяют компоненты, которые отображаются перед точками (..). Каждый набор точек заменяет предыдущий компонент. Если число точек (..) превышает количество компонентов, возвращается ошибка. В противном случае после завершения замены всех компонентов сохраняется окончательный измененный путь.

X: C:\alpha\beta\link\gamma\file

Ссылка: "link" сопоставляется с ". \.. \theta"

Измененный путь: "C:\alpha\beta\.. \.. \theta\gamma\file"

Окончательный путь: "C:\theta\gamma\file"

Символические ссылки

Жесткие связи и соединения

Именование файлов, путей и пространств имен