Подтвердить что ты не робот

Windows 7 Symbolic Link - невозможно создать файл, если этот файл уже существует

Я пытаюсь создать символическую ссылку между двумя каталогами. У меня есть каталог TestDocs и TestDocs2. Я буду выполнять всю свою работу в TestDocs, но мне нужно, чтобы все это было отражено в TestDocs2. Таким образом, все файлы, которые находятся в TestDocs2, будут реплицированы в TestDocs, и если я добавлю файл, измените файл и т.д. В TestDocs, он должен быть отражен в TestDocs2.

Поэтому я подумал, что это будет так просто, как просто сделать это:

mklink /D TestDocs TestDocs2

Но когда я делаю это, я получаю ошибку:

Невозможно создать файл, если этот файл уже существует

Почему я получаю это?

Кроме того, у меня есть порядок моих тестовых документов и TestDocs2 в команде?

Спасибо за помощь, Symbolic Links всегда меня путают!

4b9b3361

Ответ 1

Правильное использование:

MKLINK [options] {link} {target}

Вы создаете ссылку, поэтому link - это новая ссылка, которую вы собираетесь создать.
И target - это ссылка, которая является существующим каталогом.

Ответ 2

Вот как это сработало для меня. Я хотел переместить мой раздел C:\ProgramData\Package Cache в F:.

Шаги, которые я должен был сделать:

  • Физически переместите "C:\ProgramData\Package Cache" в F:. Теперь у меня было "F:\ProgramData\Package Cache" и "C:\ProgramData\Package Cache" ушло с тех пор, как я переместил его.

  • В прогоне cmd (все в одной строке разделены на читаемость)

    mklink /J "C:\ProgramData\Package Cache" 
              "F:\ProgramData\Package Cache"
    
  • Результат:

    Junction created for C:\ProgramData\Package Cache <<===>> 
                         F:\ProgramData\Package Cache`
    

Ответ 3

Я запускаю 64-разрядную версию Windows 7 и следил за приведенными выше инструкциями, но после перемещения файлов на внешний диск и выполнения

mklink/J

продолжал получать ошибку:

Blockquote Не удается создать файл, если этот файл уже существует Blockquote

Итак, я нашел эту большую бесплатную утилиту, которая работала как шарм. Надеюсь, это поможет: http://www.rekenwonder.com/linkmagic.htm

Ответ 4

Я сделал это для Google Picasa, чтобы получить доступ к фотографиям на нескольких машинах. Он работает очень хорошо, так как Picasa не является программой, поддерживающей netowrk. Для меня я сделал следующее:

  • Установить Picasa
  • Запустите приложение. Это создаст все необходимые файлы базы данных.
  • Закройте приложение.
  • Перейдите в каталог, где находится база данных - в Windows 7 он будет создан в каталоге c:\users\\AppData\Local\Google
  • Будут две папки Picasa2 и Picasa2Albums Скопируйте эти папки в сетевое расположение. В моем случае я создал папку с именем o:\PicasaDatabase и скопировал эти папки в нее.
  • Далее переименуйте исходные папки в Picasa2.old и Picasa2Albums.old

Выполните следующие команды из приглашения с повышенным cmd:

mklink/D "c:\Users\\AppData\Local\Google\Picasa2" "o:\PicasaDatabase\Picasa2"

mklink/D "c:\Users\\AppData\Local\Google\Picasa2Albums" "o:\PicasaDatabase\Picasa2Albums"

В исходном местоположении будут созданы две символические ссылки, и они укажут на сетевой диск.

Очевидно, что использование таких символических ссылок является обходным решением для приложений, которые не являются сетевыми, и только один пользователь может сразу обращаться к базе данных.