Вопрос: Как создать символическую ссылку в Windows?


Windows Vista добавила возможность создавать символические ссылки на файлы и каталоги. Как создать символическую ссылку и каковы текущие клиентские и серверные версии Windows, которые ее поддерживают?


108
2018-05-11 18:06


Источник


Может ли кто-то выделить различия между символической ссылкой и ярлыком? - tomjedrz
@tomjedrz: если вы используете ярлык, любые API-интерфейсы, открывающие этот ярлык, откроют текстовый файл, содержащий путь к целевому файлу / папке. если вы используете ссылки, любые API-интерфейсы, открывающие эту ссылку, откроют целевой файл / папку. - Afriza N Arief
Вопреки тому, что говорили все люди, я подтверждаю, что возможно использовать символические ссылки в Windows XP, (Я использую его для установки базы данных Picasa в общей папке VM). Просто взгляните на schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.htmlи перейдите в раздел «Символьные ссылки для Windows XP». НТН - Adam Ryczkowski


Ответы:


Вы можете создать символическую ссылку с помощью утилиты командной строки mklink,

MKLINK [[/D] | [/H] | [/J]] Link Target

        /D      Creates a directory symbolic link.  Default is a file
                symbolic link.
        /H      Creates a hard link instead of a symbolic link.
        /J      Creates a Directory Junction.
        Link    specifies the new symbolic link name.
        Target  specifies the path (relative or absolute) that the new link
                refers to.

Символические ссылки через mklink доступны с Windows Vista и Windows Server 2008. В Windows XP и Windows Server 2003 вы можете использовать

fsutil hardlink create <destination filename> <source filename>

В соответствии с msdn.microsoftСимвольные ссылки НЕ поддерживаются в FAT16 / 32 и exFAT. Кажется, Windows поддерживает только их из или в NTFS-разделы. Будущие операционные системы Windows, вероятно, будут продолжать поддерживать mklink.

Вы можете прочитать дополнительную информацию об этой новой функции на Microsoft TechNet, Блог пользователя Junfeng Zhang или howtogeek.com,


106
2018-05-11 18:20



Было бы неплохо добавить David's Technet url к вашей записи для полноты. - Michael Pryor
примечание сайта, что такое juntion (/ J option)? - Roy Rico
Directory Junction - тип символической ссылки каталога. support.microsoft.com/?kbid=205524 - Lara Dougan
NTFS поддерживает ссылки (с разными именами) с Windows 2000, но они использовались только внутри компании, особенно в доменах SYSVOL; некоторые утилиты были доступны для управления ими, но не были встроены; Vista представила инструмент MKLINK и широкое использование ссылок на установках Windows по умолчанию. - Massimo
Было бы неплохо упомянуть fsutil из ответа @ sascha ниже, чтобы предоставить решение для Windows Server 2003. - Phrogz


В Windows XP вы можете использовать fsutil (встроенный в ОС) для создания жесткой ссылки

 fsutil hardlink create c:\foo.txt c:\bar.txt

Имейте в виду, что fsutil будет работать, только если оба находятся на одном диске


30
2018-05-11 23:48



Хороший ответ. Я на WinXP / Win2003 и нуждаюсь в mklink, но это решило мою проблему для меня. Обычно я использую junction.exe из sysinternals, но это только обрабатывает каталоги, и в этом случае мне нужна ссылка на файл - s3v1
Жаль, что символическая ссылка не может быть создана fsutil, по крайней мере, из того, что я читал в другом месте. Это жесткая ссылка и, следовательно, не ответ на вопрос. - Vlasec


Одна маленькая вещь, если вы используете Powershell, mklink не работает напрямую, запускайте ее так:

PS C:\d\eclipseInstalls> cmd /k mklink /D antRunner 3.4.2
symbolic link created for antRunner <<===>> 3.4.2

10
2018-06-28 16:19



Это должно быть / c, not / k, иначе cmd.exe не выйдет. - dangph


использование mklink или соединение из Sysinternals (Microsoft). я верить  mklink будет работать в Windows 2000 и выше, но я не могу найти документацию по этому поводу. соединение для Windows 2000 и выше.


7
2018-05-11 18:10



Команда mklink - это Vista и Server 2008 и только, как я уже говорил выше.


Не видел этого ни в одном из ответов, но linkd.exe (в комплекте Windows 2003 Resource Kit Вот) позволяет создавать переходы, которые в значительной степени функционируют как жесткая / жесткая ссылка в Linux. Переходы доступны из Windows 2000 и выше, поэтому просто скопируйте файл linkd.exe в целевую систему и он должен работать.


4
2018-06-04 22:36



Обратите внимание, что `/ linkd` предназначен только для каталогов, а не для файлов. - Phrogz


Если вы все еще работаете в старых Windows, таких как XP, 2000, 2003 и т. Д., Попробуйте Ссылка NTFS,

Я использую его много. Для создания точки соединения вы получаете ссылку правой кнопкой мыши на ссылку оболочки. Отличный материал.


3
2018-05-11 19:35



Это отлично поработало для меня в Windows 2003 для создания символической ссылки на папку на другом диске. Благодаря! - Phil
Комментарий анонимного пользователя, изначально отредактированный в ответ: «Примечание. Для работы XP он должен использовать раздел NTFS, а не FAT или FAT32. aumha.org/win5/a/ntfscvt.php для шагов по тому, как конвертировать в NTFS. " - squillman


Видеть TechNet запись. Я считаю, что это Vista / Server 2008 и выше.


2
2018-05-11 18:08



Прохладный, никогда не знал об этой функции раньше, спасибо за ссылку, может быть так много полезного !!! - Marc-Andre R.


Чтобы убедиться, что ваши ссылки работают, вы можете проверить конфигурацию своего сервера. Ссылки могут быть сделаны, но если вы не используете параметр symlinkevaluation в следующей команде, ваши ссылки могут не работать.

fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1

Смотрите также http://technet.microsoft.com/en-us/library/cc754077%28v=ws.10%29.aspx, По умолчанию активируются только локальные опции.


1
2018-01-05 22:07