Команда MKLINK создаёт символические ссылки, жёсткие ссылки и ссылки-соединения (junction) на файлы и папки в файловой системе Windows. Инструмент незаменим для перенаправления путей приложений без физического перемещения данных — например, для переноса папки пользователя на другой диск или создания общей точки доступа к файлу из нескольких мест.
- Синтаксис команды MKLINK
- Ключи и параметры
- Примеры использования
- Символическая ссылка на файл
- Символическая ссылка на папку
- Жёсткая ссылка на файл
- Junction — перенос папки приложения
- Ссылка на сетевой путь
- Проверка созданной ссылки
- Частые ошибки и решения
- Когда применять, а когда нет
- FAQ
- В чём разница между символической ссылкой и junction?
- Занимает ли ссылка место на диске?
- Что произойдёт, если удалить цель символической ссылки?
- Нужны ли права администратора для MKLINK?
- Работает ли MKLINK на FAT32?
- Как посмотреть все ссылки в папке?
Синтаксис команды MKLINK
MKLINK [[/D] | [/H] | [/J]] ссылка цель
Параметры:
/D— символическая ссылка на директорию (по умолчанию создаётся ссылка на файл)./H— жёсткая ссылка (hard link) на файл. Только для файлов на одном томе NTFS./J— ссылка-соединение (junction) на директорию. Только локальные пути.ссылка— путь и имя создаваемой ссылки.цель— путь к существующему файлу или папке, на которые указывает ссылка.
Ключи и параметры
| Ключ | Тип ссылки | Для чего | Пример |
|---|---|---|---|
| (без ключа) | Символическая ссылка на файл | Файл в другом месте, может указывать на другой том или сетевой путь | MKLINK link.txt C:\real\file.txt |
/D | Символическая ссылка на директорию | Папка в другом месте, может указывать на другой том или UNC-путь | MKLINK /D C:\Link D:\Target |
/H | Жёсткая ссылка на файл | Второй «вход» к тому же файлу; оба указывают на одни данные | MKLINK /H copy.txt original.txt |
/J | Junction (соединение директорий) | Перенаправление папки только по локальным NTFS-путям | MKLINK /J C:\OldDir D:\NewDir |
Примеры использования
Символическая ссылка на файл
Создать ссылку config.txt в текущей папке, которая будет указывать на оригинальный файл конфигурации:
MKLINK config.txt C:\App\Settings\config.txt
Открыв config.txt в любом редакторе, вы будете редактировать оригинальный файл — ссылка прозрачна для приложений.
Символическая ссылка на папку
Перенести папку пользователя на другой диск, сохранив прежний путь:
MKLINK /D C:\Users\user\Documents D:\UserDocs
Программы, обращающиеся к C:\Users\user\Documents, прозрачно перенаправляются в D:\UserDocs.
Жёсткая ссылка на файл
Создать второй «вход» к файлу без дублирования данных на диске:
MKLINK /H D:\Backup\file.txt C:\Data\file.txt
Оба файла указывают на одни и те же данные. Удаление одного из них не уничтожит данные — они удалятся только когда исчезнет последняя ссылка.
Junction — перенос папки приложения
Перенести папку игры с диска C на диск D, сохранив путь, который ожидает программа запуска:
MKLINK /J "C:\Program Files\Game" D:\Games\Game
Лаунчер по-прежнему находит игру по стандартному пути, но данные хранятся на другом диске.
Ссылка на сетевой путь
Создать символическую ссылку на сетевую папку:
MKLINK /D C:\SharedDocs \\server\share\documents
Обратите внимание: Junction (/J) не поддерживает UNC-пути. Для сетевых путей нужна символическая ссылка (/D).
Проверка созданной ссылки
Убедиться, что ссылка создана и на что она указывает:
dir C:\Users\user\Documents
В выводе dir ссылка отмечена как <JUNCTION>, <SYMLINK> или <SYMLINKD> с указанием цели.
Частые ошибки и решения
| Ошибка / поведение | Причина | Решение |
|---|---|---|
| You do not have sufficient privilege to perform this operation | Создание символических ссылок требует прав администратора или политики «Создание символических ссылок» | Запустите CMD от имени администратора (ПКМ → «Запуск от имени администратора») |
| Cannot create a file when that file already exists | По указанному пути уже существует файл или папка с таким именем | Переименуйте или удалите существующий объект, затем повторите команду |
| Жёсткая ссылка /H не создаётся для папки | Жёсткие ссылки поддерживаются только для файлов, не для директорий | Для папок используйте /J (junction) или /D (символическая ссылка) |
| Junction /J не работает с сетевым путём | Junction поддерживает только локальные абсолютные пути NTFS | Для сетевых путей используйте MKLINK /D |
| Ссылка есть, но переход по ней не работает | Целевой путь не существует или стал недоступен | Проверьте путь командой dir /al и убедитесь, что цель ссылки существует |
| Удаление ссылки удаляет данные | Использовали rmdir /s на junction или символическую ссылку на папку | Для удаления ссылки без уничтожения данных используйте rmdir (без /s) или del для файловых ссылок |
Когда применять, а когда нет
MKLINK требует файловой системы NTFS — на FAT32 и exFAT команда не работает. Жёсткие ссылки (/H) работают только в пределах одного тома; для ссылок между дисками используйте символические ссылки или junction. Junction (/J) — самый совместимый вариант для перенаправления локальных папок: он работает даже в старых Windows без специальных политик. Символические ссылки требуют прав администратора по умолчанию; в режиме разработчика Windows это ограничение можно снять. Аналог в PowerShell: командлет New-Item -ItemType SymbolicLink -Path ссылка -Target цель или New-Item -ItemType HardLink.
FAQ
В чём разница между символической ссылкой и junction?
Символическая ссылка (/D) может указывать на любой путь, включая сетевые и пути на других дисках. Junction (/J) работает только с абсолютными локальными путями NTFS, но не требует специальных прав и совместима со старыми приложениями.
Занимает ли ссылка место на диске?
Символические ссылки и junction практически не занимают места — несколько байт метаданных. Жёсткая ссылка (/H) вообще не создаёт копию данных: оба имени указывают на одни блоки диска.
Что произойдёт, если удалить цель символической ссылки?
Ссылка останется, но станет «битой» — при обращении к ней будет ошибка. Удалить саму ссылку можно командой del (для файловой) или rmdir (для директорийной) без ключа /s.
Нужны ли права администратора для MKLINK?
Да, для создания символических ссылок по умолчанию нужны права администратора. В Windows 10 Developer Mode это ограничение снято. Junction и жёсткие ссылки обычный пользователь создать не может — тоже нужен администратор.
Работает ли MKLINK на FAT32?
Нет. Символические ссылки и junction — возможности файловой системы NTFS. На FAT32 и exFAT команда вернёт ошибку.
Как посмотреть все ссылки в папке?
Выполните dir /al C:\путь — ключ /al фильтрует только reparse-точки (символические ссылки и junction) с указанием цели.


