Символическая ссылка Windows 7-не удается создать файл, если этот файл уже существует
Я пытаюсь создать символическую ссылку между двумя каталогами. У меня есть каталог под названием TestDocs и TestDocs2. Я буду делать всю свою работу в TestDocs, но мне нужно, чтобы все это было отражено в TestDocs2. Таким образом, все файлы, которые находятся в TestDocs2, будут реплицированы в TestDocs, и если я добавлю файл, изменю файл и т. д. В TestDocs, он должен быть отражен в TestDocs2.
поэтому я подумал, что это будет так же просто, как просто сделать это:
mklink /D TestDocs TestDocs2
но когда я это делаю, я получаю ошибка:
невозможно создать файл, если этот файл уже существует
почему я получаю это?
кроме того, у меня есть порядок моих TestDocs и TestDocs2 неправильно в команде?
Спасибо за помощь, символические ссылки всегда смущали меня!
3 ответов
правильное использование:
MKLINK [options] {link} {target}
вы создаете ссылку, поэтому link
новая ссылка, которую вы планируете создать.
И target
является целью ссылки, которая является существующим каталогом.
вот как это работает для меня.
Я хотел переместить мой C:\ProgramData\Package Cache
to F:
раздел.
шаги, которые я должен был сделать:
физически переместить
"C:\ProgramData\Package Cache"
доF:
. Теперь у меня было!--6--> и"C:\ProgramData\Package Cache"
ушел с тех пор, как я его переместил.-
в cmd run (все в одной строке, разделить здесь для удобства чтения)
mklink /J "C:\ProgramData\Package Cache" "F:\ProgramData\Package Cache"
-
результат:
Junction created for C:\ProgramData\Package Cache <<===>> F:\ProgramData\Package Cache`
Я сделал это для Google Picasa, чтобы я мог получить доступ к фотографиям на более чем одной машине. Он работает очень хорошо, поскольку Picasa на самом деле не является программой с поддержкой netowrk. Для меня я сделал следующее:
- Установить Picasa
- выполнить приложение. Это создаст все необходимые файлы базы данных.
- закрыть приложение.
- перейдите в каталог, где база данных - в Windows 7 она будет создана в c:\users\\AppData\Local\Google
- будет две папки Picasa2 и Picasa2Albums Скопируйте эти папки в сетевое расположение. В моем случае я создал папку под названием o:\PicasaDatabase и скопировал в него эти папки.
- далее переименуйте исходные папки в Picasa2.старый и Picasa2Albums.старый
выполните следующие команды из командной строки с повышенными правами cmd:
mklink / D "c:\Users\\AppData\Local\Google\Picasa2" "o:\PicasaDatabase\Picasa2"
mklink / D "c:\Users\\AppData\Local\Google\Picasa2Albums ""o:\PicasaDatabase\Picasa2Albums"
в исходном расположении будут созданы две символические ссылки, которые будут указывать на сетевой диск.
очевидно, что использование символических ссылок, как это обходной путь для приложения, которые не являются сетевыми и только один пользователь может получить доступ к базе данных сразу.