Простой и легкий способ создания символических ссылок в Windows?

Ответы:

108

Вы смотрели на Junction ?

Кроме того, в Windows Vista появился инструмент командной строки 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.

Скотт Хансельман имеет рецензию на это в http://www.hanselman.com/blog/MoreOnVistaReparsePoints.aspx .

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

Дэвид Мохундро
источник
4
Похоже, другим параметром может быть ключ / J на ​​mklink (например, «mklink / J <JUNCTION> <DIR>»). Обратите внимание, что это не отдельный исполняемый файл, это команда в cmd, поэтому, если вы звоните из PowerShell, вам нужно будет выполнить shell для cmd (то есть «cmd / c mklink / J <JUNCTION> <DIR>» )
Дэвид Мохундро
Wow Junction прекрасно работает. Это создает настоящую символическую ссылку, поэтому даже Cygwin будет следовать ей.
Styfle
3
mklinkбыло именно то, что я искал.
prolink007
2
Почему они изменили порядок аргументов старой lnкоманды UNIX ?
Кболино
1
@kbolino: Легко! Потому что они просто ожидают, что мир с открытым исходным кодом "догонит" их ... тьфу.
августа
22

Существует инструмент под названием Link Shell Extension, который позволяет легко создавать символические ссылки на файлы, а также ссылки более старого типа, называемые «Junction» (в основном, символическая ссылка на папку), а также многие другие экзотические типы ссылок.

введите описание изображения здесь

Основное использование простое: перейдите к исходной папке, щелкните правой кнопкой мыши файл или папку, на которую вы хотите сослаться, и выберите новую опцию «Выбрать источник ссылки» в контекстном меню. Затем перейдите в папку, в которую вы хотите удалить ссылку, щелкните правой кнопкой мыши и выберите «Удалить как», а затем либо «Символическая ссылка» для файлов, либо «Соединение» для папок.

но

ВНИМАНИЕ: Одна из причин, по которой Microsoft затрудняет это, состоит в том, что соединения и символические ссылки могут очень легко случайно УДАЛИТЬ КРИТИЧЕСКИЕ ФАЙЛЫ!

В некоторых версиях до Windows 7 удаление соединения или символической ссылки в проводнике также автоматически удаляло ОРИГИНАЛЬНЫЙ КАТАЛОГ!

Я полагаю, что эта проблема теперь решена ... но, конечно, я не даю никаких обещаний ... будьте особенно осторожны со сторонними файловыми браузерами (если вам нужно использовать символические ссылки, я уверен, что вам больно осознавая, как сильно дует Windows 7 Explorer.)

Но я отвлекся. Моя точка зрения: будьте осторожны, сделайте свою домашнюю работу и прочитайте документацию LSE, чтобы узнать, как на самом деле работают соединения и символические ссылки, и ради gawd НАЗАД ВСЕ перед тем, как вы начнете связываться с соединениями и символическими ссылками!

Роберт Роос
источник
9

указанный каталог должен работать так, как если бы он был добавлен в% PATH%, верно

Нет, если у вас есть C: \ bin, добавленный к вашему% PATH%, и внутри c: \ bin вы создали Junction с именем c: \ bin \ anotherDir \, указывающий на c: \ anotherDir \, чтобы вы могли запустить some.exe из командная строка вроде:

> anotherDir\some.exe

Это не будет работать, так как переменная% PATH% не работает с подкаталогами (символическими ссылками или нет)

вам нужно создать жесткую ссылку непосредственно на some.exe, поэтому жесткая ссылка c: \ bin \ some.exe указывает на c: \ anotherDir \ some.exe

Таким образом, в заключение я не верю, что вы можете сделать именно то, что вы просите. Тем не менее, я рекомендую Link Shell Extension для создания соединений и жестких ссылок. Это предлагает больше возможностей, чем большинство инструментов соединения в очень простом в использовании расширении проводника Windows


источник
7

Попробуйте Symlinker инструмент с графическим интерфейсом для создания Symlink в Windows

Для этого приложения требуется .Net Framework 3.5 (рекомендуется с пакетом обновления 1), а с 24.04.2015 это программное обеспечение будет работать только в

  • Виндоус виста
  • Windows 7
  • Windows 8 и 8.1

Symlinker UI

Taranfx
источник
Можно ли создавать символические ссылки в Windows XP?
Себастьян Годеле
7

НАТУРАЛЬНАЯ КОМАНДА Windows Vista, 7 и 8:

  1. Символическая ссылка файла (по умолчанию):
    • mklink <oldpath> <newpath>
  2. Справочник Символическая ссылка :
    • mklink /D <oldpath> <newpath>
BenH
источник
Это уже было предложено в качестве ответа 7 лет назад.
Джош
3
Это неточно: Windows XP изначально не имеет mklinkкоманды.
patricktokeeffe
Vista была первой версией Windows, которая включала mklink, согласно technet.microsoft.com/en-us/library/cc753194(v=ws.11).aspx
я говорю «Восстановить Монику»
4

Я не думаю, что версия NTFS, которая поставляется с XP, поддерживает символические ссылки. NTFS6, которая поставляется в Vista и Windows 7, поддерживает символические ссылки с помощью mklinkкоманды. Версия XP из NTFS делает поддержку жестких ссылок, но они не могут охватить объемы.

Дарт Андроид
источник
2

Junction - отличная утилита, но нужно следить за тем, чтобы точки соединения выглядели точно так же, как обычные папки в проводнике Windows.

Используйте 'junction.exe -s' в командной строке, чтобы получить список всех соединений в папках и подпапках.

Джонатан Уэбб
источник
2

Создайте символическую ссылку в Far Manager : Alt+ F6или F7.


Вот также полезная статья о древовидных типах ссылок в Windows (жесткие ссылки, точки соединения и символические ссылки):

https://translate.google.com/translate?hl=&sl=ru&tl=en&u=https%3A%2F%2Fgeektimes.ru%2Fpost%2F50878%2F

В нем перечислены несколько других инструментов для создания ссылок.

Vadzim
источник
0

Существует легкое программное обеспечение под названием «Easy Symbolic Link», которое позволяет легко создавать их одним щелчком мыши. Попробуйте это здесь:

https://blog.afach.de/?page_id=589

Квантовый физик
источник