Создание символьных ссылок
Функция CreateSymbolicLink позволяет создавать символьные ссылки с помощью абсолютного или относительного пути.
Символьные ссылки могут быть абсолютными или относительными. Абсолютные ссылки — это ссылки, указывающие каждую часть имени пути; относительные ссылки определяются относительно того, где описатели относительной связи находятся в указанном пути. Относительные ссылки указываются с помощью следующих соглашений:
Соглашения dot (и ..) — например, ".. \" разрешает путь относительно родительского каталога.
Имена без косой черты (\), например tmp, разрешают путь относительно текущего каталога.
Корневой относительный — например, "\Windows\System32" разрешается на "текущий диск:\Windows\System32". организации
Текущий относительный рабочий каталог, например, если текущий рабочий каталог имеет значение "C:\Windows\System32", "C:File.txt" разрешается в "C:\Windows\System32\File.txt".
Примечание.
Если указать текущую рабочую ссылку с относительным каталогом, она создается как абсолютная ссылка, так как текущий рабочий каталог обрабатывается на основе пользователя и потока.
Символьная ссылка также может содержать точки соединения и подключенные папки в составе имени пути.
Символьные ссылки могут указывать непосредственно на удаленный файл или каталог с помощью пути UNC.
Относительные символьные ссылки ограничены одним томом.
Пример абсолютной символьной ссылки
В этом примере исходный путь "X" содержит компонент absLink, который является абсолютной символьной ссылкой. При обнаружении "absLink" фрагмент исходного пути до и в том числе absLink полностью заменен путем, указывающим на absLink. Оставшаяся часть пути после absLink добавляется к этому новому пути. Теперь этот путь становится измененным.
X: "C:\alpha\beta\absLink\гамма\file"
Ссылка: "absLink" сопоставляется с "\machineB\share"
Изменен путь: "\machineB\share\гамма\file"
Пример относительных символьных ссылок
В этом примере исходный путь "x" содержит компонент "link", который является относительной символьной ссылкой. При обнаружении ссылки ссылка полностью заменяется новым фрагментом, на который указывает ссылка. Оставшаяся часть пути после ссылки добавляется к новому пути. Все точки (..) в этом новом пути заменяют компоненты, которые отображаются перед точками (.).). Каждый набор точек заменяет предыдущий компонент. Если число точек (.) превышает число компонентов, возвращается ошибка. В противном случае, когда все замены компонентов завершены, окончательный измененный путь остается.
X: C:\alpha\beta\link\гамма\file
Ссылка: "link" сопоставляется с ".. \.. \theta"
Изменен путь: "C:\alpha\beta\.. \.. \theta\gamma\file"
Окончательный путь: "C:\theta\gamma\file"