Я пытаюсь создать символическую ссылку на моей 64-битной машине win7, чтобы перенаправить данные резервного копирования iTunes на другой диск Я уверен, что синтаксис правильный, но не могу понять, как устранить эту ошибку. Я пробовал обе команды ниже, которые имеют ту же ошибку. Я бегу в окне командной строки администратора. Может ли какая-то корпоративная групповая политика помешать мне запустить эту команду?
Невозможно создать файл, если этот файл уже существует.
синтаксис неверный. mklink имеет следующий синтаксис:
Target это файл / папка, которая существует, и Link это тот, который создан связи к цели.
поэтому команда должна быть:
увидеть эта ссылка для использования mklink.
Самый простой способ — удалить папку «Backup» из резервной копии папки «Apple» (в C: driver) Когда мы запускаем команду:
mklink /J «%APPDATA%Apple ComputerMobileSyncBackup» «E:iTune Backups»
Windows создаст ссылку на резервное копирование в C: driver.
У меня была та же проблема с «ошибкой файла уже существует», пока я не использовал «% AppData%»:
mklink / J «% APPDATA% Apple Computer MobileSync Backup» «E: iTune Backups»
Соединение создано для C: Users Me AppData Roaming Apple Computer MobileSync Backup & lt; === & gt; & gt; E: iTune Backups
Примечание: убедитесь, что вы используете прямые кавычки, в противном случае вы получите ошибку синтаксической команды.
Ошибка mklink: невозможно создать файл, если этот файл уже существует
Я пытаюсь создать символическую ссылку на моей 64-битной машине win7, чтобы перенаправить данные резервного копирования iTunes на другой диск. Я уверен, что синтаксис правильный, но не могу понять, как устранить эту ошибку. Я пробовал обе команды ниже, которые имеют одинаковую ошибку. Я бегу в окне командной строки администратора. Может быть какая-то корпоративная групповая политика не позволяет мне запускать эту команду?
Символическая ссылка Windows 7 — невозможно создать файл, если этот файл уже существует
Я пытаюсь создать символическую ссылку между двумя каталогами. У меня есть каталог TestDocs и TestDocs2. Я буду выполнять всю свою работу в TestDocs, но мне нужно, чтобы все это отражалось в TestDocs2. Таким образом, все файлы, которые находятся в TestDocs2, будут реплицированы в TestDocs, и если я добавлю файл, изменю файл и т. д. в TestDocs, это должно быть отражено в TestDocs2.
Поэтому я подумал, что это будет так же просто, как сделать это:
Но когда я это сделаю, я получаю сообщение об ошибке:
Невозможно создать файл, если этот файл уже существует
Почему я получаю это?
Кроме того, у меня неправильный порядок моих TestDocs и TestDocs2 в команде?
Спасибо за помощь, символические ссылки всегда меня смущали!
5 ответы
Вы создаете ссылку, поэтому link это новая ссылка, которую вы собираетесь создать.
И target является целью ссылки, которая является существующим каталогом.
ответ дан 20 авг.
Итак, ссылка уже не может существовать? И целью будет каталог, в котором я делаю всю свою работу? — user1513171
должно быть несуществующим именем. должно быть существующим именем. то есть: указывает на . — сойка
Да ладно, в чешской локализации команда help имеет обратную сторону: MKLINK [[/D] | [/H] | [/J]] Cíl Odkaz — Томаш Зато — Восстановить Монику
Вот как это сработало для меня. Я хотел переместить свой C:ProgramDataPackage Cache в F: раздел.
Шаги, которые я должен был сделать:
Физически двигаться «C:ProgramDataPackage Cache» в F: . Теперь у меня было «F:ProgramDataPackage Cache» и «C:ProgramDataPackage Cache» ушел с тех пор, как я переместил его.
В cmd run (все в одну строку, здесь разбито для удобочитаемости)
Я сделал это для Google Picasa, чтобы иметь доступ к фотографиям более чем на одной машине. Это работает очень хорошо, так как Picasa на самом деле не является сетевой программой. Для себя я сделал следующее:
- Установить программу Picasa
- Запустите приложение. Это создаст все необходимые файлы базы данных.
- Закройте приложение.
- Перейдите в каталог, где находится база данных — в Windows 7 она будет создана в c:usersAppDataLocalGoogle.
- Будет две папки Picasa2 и Picasa2Albums. Скопируйте эти папки в сетевую папку. В моем случае я создал папку с именем o:PicasaDatabase и скопировал в нее эти папки.
- Затем переименуйте исходные папки в Picasa2.old и Picasa2Albums.old.
Выполните следующие команды из командной строки cmd с повышенными привилегиями:
mklink /D «c:UsersAppDataLocalGooglePicasa2» «o:PicasaDatabasePicasa2»
mklink /D «c:UsersAppDataLocalGooglePicasa2Albums» «o:PicasaDatabasePicasa2Albums»
В исходном расположении будут созданы две символические ссылки, которые будут указывать на сетевой диск.
Очевидно, что использование подобных символических ссылок является обходным путем для приложений, которые не являются сетевыми, и только один пользователь может получить доступ к базе данных одновременно.
ответ дан 19 мар ’15, в 09:03
Я была такая же проблема. Вы должны убедиться, что исходная папка еще не существует. (если это так, то переименуйте его во что-то другое)
В случае ниже папка резервного копирования не должна существовать в MobileSync. Поскольку Apple iTunes ищет папку резервного копирования с таким именем, просто переименуйте существующую папку во что-то вроде OriginalBackup, чтобы iTunes не смог ее найти. Вместо этого mklink будет синонимом «Резервное копирование в папку D:», как показано ниже.
mklink /JC:UsersDellAppleMobileSyncBackup D:AppleBackupiPhoneXRBackup
ответ дан 27 дек ’18, 18:12
У меня была эта ошибка. Две вещи, которые я сделал, чтобы исправить это.
- проверьте, что я действительно был в каталоге, о котором думал, а не в другом каталоге с очень похожим путем.
- поместите кавычки вокруг нового имени ссылки.
Первая попытка: mklink /d shared_files . my-app-publicsrcshared_files выдала описанную ошибку.
Вторая попытка: mklink /d «.shared_files» . my-app-publicsrcshared_files работала нормально.
Всем привет!
Пытаюсь создать символическую ссылку, при этом получаю ошибку:
ln: failed to create symbolic link '/etc/nginx/sites-enabled/doroshchenko.xyz.conf': File exists
Что делал перед этим:
1) создал папки с конфигами
mkdir -p /etc/nginx/sites-available/
mkdir -p /etc/nginx/sites-enabled/
2) отредактировал конфиг:
nano /etc/nginx/sites-available/doroshchenko.xyz.conf
3) пытаюсь сделать:
ln -s /etc/nginx/sites-available/doroshchenko.xyz.conf /etc/nginx/sites-enabled/
И получаю ошибку:
ln: failed to create symbolic link '/etc/nginx/sites-enabled/doroshchenko.xyz.conf': File exists
Почему так происходит и как это исправить?
Загрузка…
Невозможно создать символическую ссылку — невозможно создать файл, если этот файл уже существует
TL; DR; При выполнении приведенной ниже команды я получаю сообщение об ошибке «Невозможно создать файл, если этот файл уже существует». Меня очень смущает все, что я читаю по символическим ссылкам, поскольку в основном всегда неясно, какой каталог является каким и должны ли уже существовать оба или один из имеющихся каталогов. Итак, я разместил свою команду ниже и надеюсь, что кто-нибудь сможет обнаружить ошибку (и объяснить ее простыми словами):).
Недавно мой диск C (SSD) был заполнен, и я решил переместить некоторые вещи на свой диск D (обычный жесткий диск). Я читал о символических ссылках и пытался связать каталог с C: на D:, но всегда получаю ошибку «Невозможно создать файл, когда этот файл уже существует». Моя команда следующая:
C:usersmedocumentsmain-folderfolder-I-want-linked > mklink /J "D:folderanother folderfolder-where-I-want-to-store-the-docs" "C:usersmedocumentsmain-folderfolder-I-want-linked"
Хотя я начинающий программист и кое-что знаю о CLI, я не могу понять свою ошибку.
-
Я подумал, что, может быть, мне стоит поменять местами два каталога. Источники, которые я читал, сбивают меня с толку: например, в официальной документации Microsoft говорится о и, которые могут относиться к обоим каталогам в зависимости от того, как вы на это смотрите. Я немного смущен тем, как должны указывать символические ссылки: в моем здравом смысле, но я думаю, что этот синтаксис правильный в соответствии с этой страницей с howtogeek.com.
-
Я подумал, что, поскольку ошибка в том, что что-то уже существует, мою пустую карту следует удалить, поскольку, может быть, она будет создана? В этом отношении я нахожу этот принятый ответ на superuser.com очень запутанным. Я также видел этот принятый ответ здесь, на stackru.com, в котором говорилось, что целевой каталог не может существовать? Поскольку это место, куда я хочу поместить свои файлы, я нахожу это очень странным. И из другого источника (который я не могу найти так быстро) я понял, что оба каталога уже должны существовать.
-
Я думал, что карта, на которой я запускал команду, будет неправильной. Однако выполнение команды на один уровень выше этого (то есть внутри «основной папки») также дало мне ошибку; так что попробовал это из местоположения D-drive. Но потом, из вышеупомянутого источника howtogeek.com, я понял, что мне не нужно находиться внутри определенного каталога?
Я также видел много вопросов на этом сайте относительно символических ссылок, но я не нашел ответа, который мог бы мне помочь. Я, вероятно, усложняю вещи здесь, поэтому, если у кого-то есть простое исправление / объяснение, я был бы очень признателен за это:).
2020-08-30 14:48
2
ответа
Решение
Благодаря @Mofi я разобрался со своими ошибками:
- Пустая папка (
folder-I-want-linked
на моем диске C) пока не должно существовать: оно будет создано при создании ссылки; - Это также означает, что символическая ссылка должна быть сделана из родительского каталога (
C:usersmedocumentsmain-folder
); - Я должен использовать
/D
вместо того/J
. - По какой-то причине указание абсолютного пути к папке, которую я хотел создать, не помогло (
C:......folder-I-want-linked
), однако относительный путь от моего текущего местоположения (так простоfolder-I-want-linked
) сделал.
Правильный синтаксис для моего примера:
C:usersmedocumentsmain-folder> mklink /D "folder-I-want-linked" "D:folderanother folderfolder-where-I-want-to-store-the-docs"
2020-09-01 12:17
просто перейдите в каталог, из которого должна быть создана ссылка, затем удалите файл, на который нужно создать ссылку, затем запустите mklink /D «файл, который нужно связать» «откуда сделать ссылку»
2023-02-19 16:03
Я пытаюсь создать символическую ссылку на моей 64-битной машине win7, чтобы перенаправить данные резервного копирования iTunes на другой диск Я уверен, что синтаксис правильный, но не могу понять, как устранить эту ошибку. Я пробовал обе команды ниже, которые имеют ту же ошибку. Я бегу в окне командной строки администратора. Может ли какая-то корпоративная групповая политика помешать мне запустить эту команду?
Невозможно создать файл, если этот файл уже существует.
синтаксис неверный. mklink имеет следующий синтаксис:
Target это файл / папка, которая существует, и Link это тот, который создан связи к цели.
поэтому команда должна быть:
увидеть эта ссылка для использования mklink.
Самый простой способ — удалить папку «Backup» из резервной копии папки «Apple» (в C: driver) Когда мы запускаем команду:
mklink /J «%APPDATA%Apple ComputerMobileSyncBackup» «E:iTune Backups»
Windows создаст ссылку на резервное копирование в C: driver.
У меня была та же проблема с «ошибкой файла уже существует», пока я не использовал «% AppData%»:
mklink / J «% APPDATA% Apple Computer MobileSync Backup» «E: iTune Backups»
Соединение создано для C: Users Me AppData Roaming Apple Computer MobileSync Backup & lt; === & gt; & gt; E: iTune Backups
Примечание: убедитесь, что вы используете прямые кавычки, в противном случае вы получите ошибку синтаксической команды.
Ошибка mklink: невозможно создать файл, если этот файл уже существует
Я пытаюсь создать символическую ссылку на моей 64-битной машине win7, чтобы перенаправить данные резервного копирования iTunes на другой диск. Я уверен, что синтаксис правильный, но не могу понять, как устранить эту ошибку. Я пробовал обе команды ниже, которые имеют одинаковую ошибку. Я бегу в окне командной строки администратора. Может быть какая-то корпоративная групповая политика не позволяет мне запускать эту команду?
Символическая ссылка Windows 7 — невозможно создать файл, если этот файл уже существует
Я пытаюсь создать символическую ссылку между двумя каталогами. У меня есть каталог TestDocs и TestDocs2. Я буду выполнять всю свою работу в TestDocs, но мне нужно, чтобы все это отражалось в TestDocs2. Таким образом, все файлы, которые находятся в TestDocs2, будут реплицированы в TestDocs, и если я добавлю файл, изменю файл и т. д. в TestDocs, это должно быть отражено в TestDocs2.
Поэтому я подумал, что это будет так же просто, как сделать это:
Но когда я это сделаю, я получаю сообщение об ошибке:
Невозможно создать файл, если этот файл уже существует
Почему я получаю это?
Кроме того, у меня неправильный порядок моих TestDocs и TestDocs2 в команде?
Спасибо за помощь, символические ссылки всегда меня смущали!
5 ответы
Вы создаете ссылку, поэтому link это новая ссылка, которую вы собираетесь создать.
И target является целью ссылки, которая является существующим каталогом.
ответ дан 20 авг.
Итак, ссылка уже не может существовать? И целью будет каталог, в котором я делаю всю свою работу? — user1513171
должно быть несуществующим именем. должно быть существующим именем. то есть: указывает на . — сойка
Да ладно, в чешской локализации команда help имеет обратную сторону: MKLINK [[/D] | [/H] | [/J]] Cíl Odkaz — Томаш Зато — Восстановить Монику
Вот как это сработало для меня. Я хотел переместить свой C:ProgramDataPackage Cache в F: раздел.
Шаги, которые я должен был сделать:
Физически двигаться «C:ProgramDataPackage Cache» в F: . Теперь у меня было «F:ProgramDataPackage Cache» и «C:ProgramDataPackage Cache» ушел с тех пор, как я переместил его.
В cmd run (все в одну строку, здесь разбито для удобочитаемости)
Я сделал это для Google Picasa, чтобы иметь доступ к фотографиям более чем на одной машине. Это работает очень хорошо, так как Picasa на самом деле не является сетевой программой. Для себя я сделал следующее:
- Установить программу Picasa
- Запустите приложение. Это создаст все необходимые файлы базы данных.
- Закройте приложение.
- Перейдите в каталог, где находится база данных — в Windows 7 она будет создана в c:users\AppDataLocalGoogle.
- Будет две папки Picasa2 и Picasa2Albums. Скопируйте эти папки в сетевую папку. В моем случае я создал папку с именем o:PicasaDatabase и скопировал в нее эти папки.
- Затем переименуйте исходные папки в Picasa2.old и Picasa2Albums.old.
Выполните следующие команды из командной строки cmd с повышенными привилегиями:
mklink /D «c:Users\AppDataLocalGooglePicasa2» «o:PicasaDatabasePicasa2»
mklink /D «c:Users\AppDataLocalGooglePicasa2Albums» «o:PicasaDatabasePicasa2Albums»
В исходном расположении будут созданы две символические ссылки, которые будут указывать на сетевой диск.
Очевидно, что использование подобных символических ссылок является обходным путем для приложений, которые не являются сетевыми, и только один пользователь может получить доступ к базе данных одновременно.
ответ дан 19 мар ’15, в 09:03
Я была такая же проблема. Вы должны убедиться, что исходная папка еще не существует. (если это так, то переименуйте его во что-то другое)
В случае ниже папка резервного копирования не должна существовать в MobileSync. Поскольку Apple iTunes ищет папку резервного копирования с таким именем, просто переименуйте существующую папку во что-то вроде OriginalBackup, чтобы iTunes не смог ее найти. Вместо этого mklink будет синонимом «Резервное копирование в папку D:», как показано ниже.
mklink /JC:UsersDellAppleMobileSyncBackup D:AppleBackupiPhoneXRBackup
ответ дан 27 дек ’18, 18:12
У меня была эта ошибка. Две вещи, которые я сделал, чтобы исправить это.
- проверьте, что я действительно был в каталоге, о котором думал, а не в другом каталоге с очень похожим путем.
- поместите кавычки вокруг нового имени ссылки.
Первая попытка: mklink /d shared_files . my-app-publicsrcshared_files выдала описанную ошибку.
Вторая попытка: mklink /d «.shared_files» . my-app-publicsrcshared_files работала нормально.