Почему я не могу создать символическую ссылку (mklink), даже если я администратор?

16

При запуске mklink /D "C:\Users\bwilliams\AppData\Roaming\Sublime Text 2" "C:\Users\bwilliams\Dropbox\Sublime Text"я получаю эту ошибку: «У вас недостаточно прав для выполнения этой операции.

Почему нет? Я администратор и просто хочу создать ссылку в своем собственном каталоге Users \ bwilliams на другую папку в моем каталоге Users \ bwilliams? Что я здесь не так делаю?

Благодарю.

Бен
источник
2
Веселое. Я пытаюсь сделать то же самое - синхронизировать настройки Dropbox в Windows - и совершенно не понимаю, почему создание символических ссылок не является привилегией по умолчанию для обычных пользователей. У меня есть источник и цель, и они оба находятся в моем домашнем каталоге. Почему это ограничено?
Марк Э. Хаас
2
Я смог сделать это, используя mklink / J вместо mklink / D. Ничего не взорвалось ... пока ...
Марк Э. Хаас
@mehaase Старый комментарий, но ... вы можете связать вещи с плохо расположенным соединением, это нужно для того, чтобы случайно не сделать это. Ссылка, совсем не дубликат, и я не понимаю, почему дубликат тега все еще существует сегодня, вопрос объясняет, как добавить это разрешение пользователю.
EKW

Ответы:

12

Вам нужно запустить mklinkиз привилегированной оболочки (щелкните правой кнопкой мыши по ярлыку командной строки, «Запуск от имени администратора»).
Если будут запущен mklink от повышенной оболочки, проверьте права доступа к каталогу и убедитесь , что нет никаких явных разрешений Deny , установленных для группы администраторов.

Примечание. Убедитесь, что вы не пытаетесь создать ссылку, где каталог, содержащий файлы, уже существует, и случайно не создаете рекурсивный набор ссылок.

EKW
источник
Я запустил его с правами администратора и теперь выдает ошибку. Cannot create a file when that file already exists. Поэтому я удалил каталог Dropbox Sublime Text, попробовал снова и получил то же сообщение. Вы знаете, что не так?
Бен
@Ben Ошибка, скорее всего, связана с каталогом «Dropbox Sublime Text 2», который является именем ссылки, которая создается. Убедитесь, что нет папки или файла с таким именем (может быть файл, если вы попробовали его без / D в какой-то момент).
МТОНЕ
Нет такого файла или каталога. И единственное, что я вижу, это то, что «Специальные разрешения» не разрешены (или запрещены) для администраторов, системы или моей учетной записи пользователя bwilliams. Я не могу понять, как "проверить" специальные разрешения.
Бен
@Ben Что такое исходный каталог (настоящий каталог) и что такое целевой каталог (символический каталог)? Я думаю, вы можете вводить параметры задом наперед.
EKW
3
Оказывается, каталог, который мне нужно было удалить, был исходным каталогом AppData \ Roaming \ Sublime Text 2. имеет смысл теперь, когда я это сделал.
Бен
7

Я столкнулся с теми же проблемами:

Сначала я получил эту ошибку: You do not have sufficient privilege to perform this operation

И после повторной попытки использования повышенного cmd я запустил mklink /D linkToDir C:\temp\otherLinkи получил эту ошибку:Cannot create a file when that file already exists.

Оказывается, там была (сломанная?) Символическая ссылка, помеченная как System:

attrib *

A  S  C:\temp\linkToDir

Итак, к вашему сведению, убедитесь, что нет скрытого (на самом деле системного) файла, использующего это имя из ранее прерванного создания символической ссылки.

Это то, что я хотел бы подчеркнуть здесь.

enorl76
источник
2

Я столкнулся с той же проблемой и просто смог заставить ее работать. Я пытался заставить itunes выполнять резервное копирование на другой (больший) диск (C - это SSD).

Скажем, вы хотите перейти от c:\dir1\dirToRedirectк d:\dirToRedirectTo, то:

Убедитесь, что dirToRedirectон не существует, потому что Windows собирается создать ссылку с тем же именем, что создает конфликт имен. Итак, удалите dirToRedirect, создайте dirToRedirectToи запуститеmklink /j "c:\dir1\dirToRedirect" "d:\dirToRedirectTo"

Tof
источник