it-swarm-eu.dev

Collegamento simbolico di Windows 7: impossibile creare un file quando tale file esiste già

Sto cercando di creare un collegamento simbolico tra due directory. Ho una directory denominata TestDocs e TestDocs2. Farò tutto il mio lavoro in TestDocs, ma ho bisogno che tutto ciò si rifletta in TestDocs2. Quindi tutti i file presenti in TestDocs2 verranno replicati in TestDocs e, se aggiungo un file, cambi un file, ecc in TestDocs, dovrebbe essere riportato in TestDocs2.

Quindi ho pensato che sarebbe stato semplice come fare questo:

mklink /D TestDocs TestDocs2

Ma quando lo faccio, ottengo l'errore:

Impossibile creare un file quando quel file esiste già

Perché sto ricevendo questo?

Inoltre, ho l'ordine dei miei TestDocs e TestDocs2 errati nel comando?

Grazie per l'aiuto, i collegamenti simbolici mi hanno sempre confuso!

25
user1513171

L'uso corretto è:

MKLINK [options] {link} {target}

Stai creando un link, quindi link è il nuovo link che stai per creare.
E target è la destinazione del collegamento, che è la directory esistente.

39
Jay

Ecco come ha funzionato per me. Volevo spostare il mio C:\ProgramData\Package Cache nella partizione F:.

Passi che dovevo fare:

  1. Spostare fisicamente "C:\ProgramData\Package Cache" su F:. Ora avevo "F:\ProgramData\Package Cache" e "C:\ProgramData\Package Cache" non c'è più da quando l'ho spostato.

  2. In cmd run (tutto in una riga, dividi qui per leggibilità)

    mklink /J "C:\ProgramData\Package Cache" 
              "F:\ProgramData\Package Cache"
    
  3. Risultato:

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

L'ho fatto per Google Picasa in modo da poter accedere a fotografie su più di una macchina. Funziona molto bene perché Picasa non è un programma abilitato per la rete. Per me ho fatto quanto segue:

  • Installa Picasa
  • Esegui l'applicazione. Questo creerà tutti i file di database necessari.
  • Chiudi l'applicazione.
  • Passare alla directory in cui si trova il database: su Windows 7 verrà creato in c:\users \\ AppData\Local\Google
  • Ci saranno due cartelle Picasa2 e Picasa2Albums Copiate queste cartelle in un percorso di rete. Nel mio caso ho creato una cartella chiamata o:\PicasaDatabase e ho copiato queste cartelle al suo interno.
  • Successivamente rinomina le cartelle originali in Picasa2.old e Picasa2Albums.old

Esegui i seguenti comandi da un prompt cmd con privilegi elevati:

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

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

Due collegamenti simbolici saranno stati creati nella posizione di origine e punteranno al drive di rete.

Ovviamente l'uso di collegamenti simbolici come questo è una soluzione alternativa per le applicazioni che non sono interconnesse e solo un utente può accedere al database contemporaneamente.

0
TerryMcK

Ho avuto lo stesso problema. Devi assicurarti che la cartella di origine non esista già. (se lo fa, rinominalo in qualcos'altro)

In caso di sotto la cartella di backup non dovrebbe esistere sotto MobileSync. Poiché Apple iTunes cerca la cartella Backup con quel nome, rinomina la cartella esistente in qualcosa come OriginalBackup per evitare che iTunes la trovi. Invece mklink fungerà da Backup a D: cartella come sotto

mklink/J C:\Utenti\Dell\Apple\MobileSync\Backup D:\Apple\Backup\iPhoneXRBackup

0
user10840272