Создание символьных ссылок
Функция CreateSymbolicLink позволяет создавать символьные ссылки с помощью абсолютного или относительного пути.
Символьные ссылки могут быть абсолютными или относительными. Абсолютные ссылки — это ссылки, указывающие каждую часть имени пути; относительные ссылки определяются относительно того, где описатели относительной связи находятся в указанном пути. Относительные ссылки указываются с помощью следующих соглашений:
Соглашения для точки (. и ..) — например, "..\" определяет путь относительно родительского каталога.
Имена без косой черты (\), например 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\гамма\файл
Ссылка: "link" сопоставляется с "../../theta"
Изменен путь: "C:\alpha\beta\..\..\theta\gamma\file"
Окончательный путь: "C:\theta\gamma\file"