В. Как создать символические ссылки в Windows Vista?

О. . У команды три необязательных параметра: /D создает символическую ссылку каталога вместо обычной символической ссылки файла; /H задает жесткую ссылку вместо символической; /J задает присоединение каталога.

Предположим, что в папке windowssystem32 находится программа calc.exe, которую нужно запустить с именем addup.exe. Можно использовать команду

mklink addup.exe calc.exe

symbolic link created for addup.exe <<===>> calc.exe

C:WindowsSystem32>dir addup.exe

Volume in drive C has no label.

Volume Serial Number is E0BA-564B

Directory of C:WindowsSystem32

05/17/2007 11:08 AM addup.exe [calc.exe]

1 File(s) 0 bytes

0 Dir(s) 235,354,234,880 bytes free

 

Обратите внимание, что элемент каталога показывает символическую ссылку с настоящим именем файла в квадратных скобках. Если применяется ключ /H, то создается жесткая ссылка, и элемент выглядит как файл, а не как ярлык (вариант по умолчанию). Например, ниже показана стандартная символическая ссылка, а затем жесткая ссылка, которая выглядит в точности как обычный файл:

mklink /H addup2.exe calc.exe

Hardlink created for addup2.exe <<===>> calc.exe

 

dir

05/17/2007 11:10 AM addup.exe [calc.exe]

11/02/2006 10:00 AM 188,416 addup2.exe

11/02/2006 10:00 AM 188,416 calc.exe

 

Для папок существуют те же варианты символических и жестких ссылок (жесткая ссылка для папок называется точкой присоединения), создаваемые с помощью ключей /D и /J, соответственно. С помощью ссылок обоих типов можно перемещаться по папкам, и целевая папка обновляется при любом добавлении/удалении данных:

mklink /d testlnk test1

symbolic link created for testlnk <<===>> test1

 

mklink /j testlnkhd test1

Junction created for testlnkhd <<===>> test1

 

dir

05/17/2007 11:20 AM

test1

05/17/2007 11:21 AM testlnk [test1]

05/17/2007 11:21 AM testlnkhd [D: emp est1]