Команда MKLINK – создание символьной ссылки на файл или каталог.
Символьная (символическая) ссылка (также симлинк от англ. Symbolic link) — специальный файл в файловой системе, для которого не формируются никакие данные, кроме одной текстовой строки с указателем. Ссылка может указывать на файл, каталог или даже несуществующий файл. Основное назначение символьных ссылок – создание удобной структуры файлов и каталогов в файловой системе. Ссылки позволяют для одного файла или каталога иметь несколько имён, абсолютно никак не связанных с именами файлов или каталогов, на которые они ссылаются. На практике, символьные ссылки используются для подключения в нужное место файловой системы файлов или папок, расположенных в произвольных местах, а также для связывания содержимого с конкретным именем файла или каталога. Например, для подключения к каталогу, обслуживаемому FTP-сервером, съемного диска (флэшки) для временной раздачи по FTP. Вместо копирования содержимого флэшки, можно в домашнем каталоге сервера создать символьную ссылку, ссылающуюся на ее содержимое.
Формат командной строки MKLINK:
MKLINK [[/D] | [/H] | [/J]] Ссылка Назначение
Параметры командной строки:
/D — Создание символической ссылки на каталог. По умолчанию создается символическая ссылка на файл.
/H — Создание жесткой связи (hard link)вместо символической ссылки.
/J — Создание соединения для каталога.
Ссылка — Имя новой символической ссылки.
Назначение — Путь (относительный или абсолютный), на который ссылается создаваемая ссылка.
mklink /? — отобразить подсказку по использованию команды.
mklink /D slnk1 D:\ — создать в текущем каталоге символьную ссылку с именем slnk1 , ссылающуюся на корневой каталог диска D:
mklink /D C:\mountpoint\ShC \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\ — создать символическую ссылку с именем ShC в каталоге mountpoint на диске C: , ссылающуюся на теневую копию (мгновенный снимок) диска.
При работе с каталогами, параметр /J и параметр /D имеют одинаковый результат.
Для удаления созданных символических ссылок можно воспользоваться стандартными командами командной строки Windows:
erase lnkfile1 — удалить символьную ссылку на файл. Сам файл, на который ссылается ссылка, не удаляется.
del lnkfile1 — то же, но с использованием команды del
rmdir C:\mountpoint\ShC — удаление символической ссылки на каталог. Сам каталог не удаляется. Обратите внимание, что использование команды del для файлов внутри каталога, на который ссылается ссылка, приводит к их удалению.
erase C:\mountpoint\ShC\lile1.txt — удалить файл из каталога, определенного символической ссылкой.
mklink /H hm histmacros.cmd — создать жесткую ссылку с именем hm , ссылающуюся на файл histmacros.cmd . Жесткие ссылки могут создаваться только в пределах одного раздела. Нельзя создать жесткую ссылку, например, командой:
mklink /H C:\mountpoints\hm D:\SCRIPTS\histmacros.cmd
И жесткая ссылка, и файл, на который она ссылается, должны быть на одном и том же логическом диске.
Как создать символьную ссылку в Windows 10, 8.1, 8, 7
Здравствуйте. Не самая популярная, но очень полезная функция, которая доступна в современных операционных системах. Она позволяет сделать ссылку на папку (как бы ярлык), по которому система будет думать, что работает с реальной папкой (либо файлом, так тоже можно), находящийся в месте, где находится ярлык. Если взять термин из википедии:
Символьная ссылка (также симлинк от англ. Symbolic link, символическая ссылка) — специальный файл в файловой системе, для которого не формируются никакие данные, кроме одной текстовой строки с указателем. Эта строка трактуется как путь к файлу, который должен быть открыт при попытке обратиться к данной ссылке (файлу). Символьная ссылка занимает ровно столько места в файловой системе, сколько требуется для записи её содержимого (нормальный файл занимает как минимум один блок раздела).
Раньше я очень часто переустанавливал систему, так как имел сайт и при написании статей проводил очень много экспериментов с системой, некоторые из которых, сложно было обратить и проще было переустановить или восстановить систему из бэкапа. А параллельно я ещё играл, и чтобы каждый раз не качать заново игру, я хранил их на отдельном SSD и просто делал символьные ссылки в основной каталог Origin (со стимом проще, там можно несколько директорий выбрать). Мой товарищ использовал символьные ссылки, чтобы размещать папки с текстурами (самое тяжелое в играх) на RAM-диск, для ускорения их загрузки.
Итак, функция крайне полезна и имеет много вариантов использования. А ещё, она довольно проста в использовании. И сейчас постараюсь объяснить, как ей пользоваться. Для начала нам нужно запустить командную строку, есть несколько вариантов, мне самым быстрым кажется следующим:
1. Жмём сочетание клавиш Win+R и вводим в открывшееся окно cmd
2. Теперь нам необходимо ввести команду чтобы создать символьную ссылку, структура команды для ОС Windows примерно следующая:
mklink /j «путь, где будет создана символьная ссылка» «путь, где находятся исходный файл или папка»
где, /j — атрибут обязательный при указании ссылки на каталог, если вы создаете ссылку на файл, не ставьте его.
Теперь перейдем к примеру. Предположим, что я хочу создать символьную на папку EHOT на локальном диске D , как папку link на диске C , для этого мне нужно ввести следующую команду.
А в проводнике увидел вот такую картину, система думает, что я просто зашел в каталог.
3. Теперь попробуем создать ссылку на файл, подменив ему имя.
Для этого создам файлик с именем 456.txt в корне диска D и введу вот такую команду в командной строке:
Эта команда создаст ссылку с именем test.txt в папке mk на диске C, которую система будет воспринимать как текстовый файл. А настоящий файл будет лежать на другом локальном диске.
Получается, что при обращение к символьной ссылке, система будет открывать и редактировать оригинальный файл.
На этом все, надеюсь данная статья оказалась вам полезной. Пишите комментарии с пожеланиями новых статей, подписывайтесь на канал. До свидания.
Как удалить символьную ссылку в windows 7
Сообщения: 26256
Благодарности: 7637
А, так фразу «при копировании папки можно определить» следует понимать как «хотелось бы иметь возможность при копировании папки».
TERMINAL, возьмите какой-нибудь OpenSource’ный проект, где имеется реализация функций копирования с поддержкой точек повторного подключения (например, файловый менеджер Far Manager (Far Manager Official Site : исходный*код)) и посмотрите, как сие там реализовано.