Мне нужно что-то с поддержкойпо меньшей мерена Windows XP и, надеюсь, не требуя никаких новых загрузок от пользователя.
решение1
Вы смотрели наПерекресток?
Кроме того, 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.
решение2
Есть инструмент, который называетсяРасширение оболочки ссылкичто позволяет легко создавать символические ссылки на файлы, а также старый тип ссылок, называемый «Junction» (по сути, символическая ссылка на папку), а также множество более экзотических типов ссылок.
Базовое использование простое: перейдите в исходную папку, щелкните правой кнопкой мыши по файлу или папке, на которые вы хотите создать ссылку, и выберите новую опцию «Выбрать источник ссылки» в контекстном меню. Затем перейдите в папку, в которую вы хотите перетащить ссылку, щелкните правой кнопкой мыши и выберите «Перетащить как», а затем либо «Символическая ссылка» для файлов, либо «Junction» для папок.
но
ВНИМАНИЕ: Одна из причин, по которой Microsoft усложняет эту задачу, заключается в том, что соединения и символические ссылки могут значительно упростить случайное УДАЛЕНИЕ ВАЖНЫХ ФАЙЛОВ!
В некоторых версиях до Windows 7 удаление соединения или символической ссылки в Проводнике автоматически приводило к УДАЛЕНИЮ ИСХОДНОГО КАТАЛОГА!
яполагатьчто эта проблема теперь решена... но, конечно, я ничего не обещаю... будьте особенно осторожны со сторонними файловыми браузерами (если вы дошли до того, что вам понадобятся символические ссылки, я уверен, вы прекрасно знаете, насколько плох Проводник Windows 7).
Но я отвлекся. Моя мысль такова: будьте осторожны, сделайте домашнюю работу и прочитайте документацию LSE, чтобы узнать, как на самом деле работают соединения и символические ссылки, и ради всего святого, СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ ВСЕХ, прежде чем начнете возиться с соединениями и символическими ссылками!
решение3
указанный каталог должен работать так, как будто он действительно был добавлен в %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
Итак, вкратце, я не верю, что вы можете сделать именно то, о чем просите. Тем не менее, я рекомендуюРасширение оболочки ссылкидля создания Junctions и hardlinks. Он предлагает больше возможностей, чем большинство инструментов junctions, в очень простом в использовании расширении для проводника Windows
решение4
СОБСТВЕННАЯ КОМАНДА Windows Vista, 7 и 8:
- Символическая ссылка на файл(по умолчанию):
mklink <oldpath> <newpath>
- Символическая ссылка на каталог:
mklink /D <oldpath> <newpath>