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


33

Мне нужно что-то, поддерживаемое по крайней мере в Windows XP и не требующее загрузки новых пользователей, надеюсь.



Ответы:


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


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

7

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

  1. Символическая ссылка файла (по умолчанию):
    • mklink <oldpath> <newpath>
  2. Справочник Символическая ссылка :
    • mklink /D <oldpath> <newpath>

Это уже было предложено в качестве ответа 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

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




Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.