web-dev-qa-db-fra.com

Lien symbolique Windows 7 - Impossible de créer un fichier lorsque ce fichier existe déjà

J'essaie de créer un lien symbolique entre deux répertoires. J'ai un répertoire appelé TestDocs et TestDocs2. Je ferai tout mon travail dans TestDocs, mais j'ai besoin que tout soit reflété dans TestDocs2. Ainsi, tous les fichiers contenus dans TestDocs2 seront répliqués dans TestDocs. Si j'ajoute un fichier, le modifie, etc. dans TestDocs, il doit être reflété dans TestDocs2.

Alors j'ai pensé que ce serait aussi simple que de faire ceci:

mklink /D TestDocs TestDocs2

Mais quand je fais ça, j'ai l'erreur:

Impossible de créer un fichier quand ce fichier existe déjà

Pourquoi je reçois ça?

De plus, la commande contient-elle mal l'ordre de mes TestDocs et TestDocs2?

Merci pour l'aide, Symbolic Links m'a toujours dérouté!

25
user1513171

L'utilisation correcte est:

MKLINK [options] {link} {target}

Vous créez un lien, alors la link est le nouveau lien que vous êtes sur le point de créer.
Et la target est la cible du lien, qui est le répertoire existant.

39
Jay

Voici comment cela a fonctionné pour moi. Je voulais déplacer mon C:\ProgramData\Package Cache sur la partition F:.

Les étapes que je devais faire:

  1. Déplacez physiquement "C:\ProgramData\Package Cache" vers F:. Maintenant, j'avais "F:\ProgramData\Package Cache" et "C:\ProgramData\Package Cache" est parti depuis que je l'ai déplacé.

  2. Dans cmd run (tout en une ligne, diviser ici pour la lisibilité)

    mklink /J "C:\ProgramData\Package Cache" 
              "F:\ProgramData\Package Cache"
    
  3. Résultat:

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

Je l'ai fait pour Google Picasa afin de pouvoir accéder à des photos sur plusieurs ordinateurs. Cela fonctionne très bien car Picasa n’est pas vraiment un programme compatible netowrk . Pour moi, j’ai fait ce qui suit:

  • Installer Picasa
  • Lancer l'application. Cela créera tous les fichiers de base de données nécessaires.
  • Fermez l'application.
  • Accédez au répertoire contenant la base de données. Sous Windows 7, il sera créé dans c:\users \\ AppData\Local\Google.
  • Il y aura deux dossiers Picasa2 et Picasa2Albums Copiez ces dossiers dans un emplacement réseau. Dans mon cas, j'ai créé un dossier appelé o:\PicasaDatabase et y ai copié ces dossiers.
  • Ensuite, renommez les dossiers d'origine en Picasa2.old et Picasa2Albums.old.

Exécutez les commandes suivantes à partir d'une invite cmd élevée:

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

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

Deux liens symboliques ont été créés à l’emplacement source et pointent vers le lecteur réseau.

Il est évident que l'utilisation de liens symboliques comme celui-ci constitue une solution de contournement pour les applications qui ne peuvent pas être mises en réseau et qu'un seul utilisateur peut accéder à la base de données simultanément.

0
TerryMcK

J'ai eu le même problème. Vous devez vous assurer que le dossier Source n'existe pas déjà. (si c'est le cas, renommez-le autrement)

Dans le cas ci-dessous, le dossier de sauvegarde ne devrait pas exister sous MobileSync. Comme Apple iTunes recherche le dossier de sauvegarde portant ce nom, il suffit de renommer le dossier existant pour qu’il ressemble à OriginalBackup afin d’empêcher iTunes de le trouver. À la place, mklink sera synonyme Sauvegarder dans le dossier D: comme ci-dessous

mklink/J C:\Utilisateurs\Dell\Apple\MobileSync\Sauvegarde D:\Apple\Sauvegarde\iPhoneXRBackup

0
user10840272