Я нашел ответ с этого сайта . Короче говоря, я должен был запустить cmd.exe от имени администратора.
Доступ запрещен ошибка, когда я mklink на Windows 7
Мой домашний каталог - c: \ Users \ phi как пользовательский phi, и я создал каталог по адресу c: \ Users \ abc. Мне нужно символическую ссылку из c: \ Users \ phi \ hello в c: \ Users \ abc \ hello.
Я запускаю следующую команду
mklink c: \ Users \ abc \ hello c: \ Users \ phi \ hello
Но я получаю доступ отказано в ошибке. Пользователь phi является администратором, поэтому у меня нет проблем с записью файлов в c: \ Users \ abc.
Почему это? Как на мклинк?
10 ответов на вопрос
- Популярные
- Новые
- С комментариями
- Активные
Important points:
- You need to run as admin if UAC is on. (or at least security policy to allow creation of links).
- The
/D
switch needs to be used if the link is for directory. - First parameter is a link, second parameter is the original folder.
- Link should not exist already.
Usage:
mklink /D c:\users\me\new_link\ c:\users\me\original_folder\
Обратите внимание, что та же ошибка будет отображаться при попытке создания соединений на подключенных дисках . Я старался изо всех сил, пока не наткнулся на примеры на этой странице, посвященные жестким ссылкам и соединениям MSDN .
Краткий ответ: вы можете использовать mklink только на локальных томах.
В Windows 7 (и более поздних версиях) вам нужны специальные привилегии безопасности для создания ссылок и соединений. Как администратор вы можете предоставить это разрешение пользователям, использующим secpol.msc
для установки Local Policies\User Rights Assignment\Create symbolic links
.
Если пользователь вошел в систему в то время, он должен выйти и снова войти, чтобы иметь возможность создавать ссылки.
Обратите внимание на предостережение о том, что ссылки могут обнажать недостатки безопасности в некоторых приложениях - я не исследовал, какими могут быть эти недостатки.
Если вы часто используете Linux, помните, что параметры поменялись местами в Windows.
Если вы используете неправильный порядок, вы также получите «Отказано в доступе». Потому что вы пытаетесь создать символическую ссылку, где оригинал уже существует.
Окна: mklink /D link original
Linux: ln -s original link
Я получил это, потому что я случайно наткнулся mklink /D
на файл. Ссылка не отображалась в проводнике, но в Windows Explorer. Используя командную строку, я удалил исходную недействительную ссылку на каталог, а затем воссоздал ее без /D
опции.
Кстати, я получаю сообщение об ошибке «Доступ запрещен», хотя я запускаю cmd.exe от имени администратора.
Помимо работы в mklink
качестве администратора, вы также должны убедиться, что у вас достаточно прав для папки назначения, на которую вы ссылаетесь.
Если вы запускаете:
mklink / j C: \ path_to_link C: \ destination
он должен работать. В моем случае powershell и cmd выдают одинаковый результат. Для powershell вам нужно только запустить команду с
cmd / c mklink ...
This might sound weird, but check that the file or folder doesn't already exist that you are trying to create. Sometimes it's easy to overlook in the cmd prompt.
Для каталогов вы должны сделать:
mklink /D c:\Users\abc\hello c:\Users\phi\hello
Похожие вопросы
-
2
Windows 7 Home Premium запоминает пароли общего доступа к сети?
-
4
Как заблокировать выровненные по правому краю панели инструментов в Windows 7, чтобы они не выглядел...
-
4
Функция Windows 7 «Aero Snap» в Ubuntu GNOME
-
-
3
Мой второй жесткий диск не виден в Windows 7
-
7
Как заменить Блокнот в Windows 7?
-
2
Как расположить значки панели задач Windows 7 в 2 ряда?
-
1
Проблемы во время сна на Windows 7
-
6
Как управлять функцией привязки Windows 7 с помощью двух мониторов?
-
10
Как мне обновить Windows 7 RC до Windows 7 RTM?
-
3
Какая защита от шпионского ПО доступна для Windows 7?