Modo semplice e diretto per creare collegamenti simbolici su Windows?


Risposte:


108

Hai visto Junction ?

Inoltre, Windows Vista ha introdotto lo strumento da riga di comando mklink per creare collegamenti simbolici.

MKLINK [[/D] | [/H] | [/J]] Link Target
    /D      Creates a directory symbolic link.  Default is a file
            symbolic link.
    /H      Creates a hard link instead of a symbolic link.
    /J      Creates a Directory Junction.
    Link    specifies the new symbolic link name.
    Target  specifies the path (relative or absolute) that the new link refers to.

Scott Hanselman ha scritto un articolo su http://www.hanselman.com/blog/MoreOnVistaReparsePoints.aspx .

Se parli solo di Windows XP, ho sempre usato lo strumento Junction.


4
Sembra che un'altra opzione potrebbe essere l'opzione / J su mklink (come "mklink / J <JUNCTION> <DIR>"). Nota che non è un eseguibile separato, è un comando in cmd, quindi se stai chiamando da PowerShell, dovrai sborsare a cmd (cioè "cmd / c mklink / J <JUNCTION> <DIR>" )
— David Mohundro,

Wow junction funziona alla grande. Crea un vero collegamento simbolico, quindi anche Cygwin lo seguirà.
— Styfle

3
mklinkera esattamente quello che stavo cercando.
— prolink007,

2
Perché oh perché hanno invertito l'ordine degli argomenti dal vecchio lncomando UNIX ?
— Kbolino,

1
@kbolino: facile! Perché si aspettano semplicemente che il mondo open source si "raggiunga" con loro ... ugh.
— tniles,

22

Esiste uno strumento chiamato Link Shell Extension che semplifica la creazione di collegamenti simbolici a file, oltre a un tipo di collegamento precedente chiamato "Junction" (sostanzialmente un collegamento simbolico a una cartella) e molti altri tipi di collegamenti esotici.

inserisci qui la descrizione dell'immagine

L'utilizzo di base è semplice: passa alla cartella di origine, fai clic con il pulsante destro del mouse sul file o sulla cartella a cui desideri collegarti e scegli la nuova opzione "Seleziona origine collegamento" dal menu di scelta rapida. Quindi vai alla cartella in cui desideri rilasciare il collegamento, fai clic con il pulsante destro del mouse e seleziona "Elimina come", quindi "Collegamento simbolico" per i file o "Giunzione" per le cartelle.

ma

ATTENZIONE: Uno dei motivi per cui Microsoft rende difficile farlo è che giunzioni e collegamenti simbolici possono semplificare l'eliminazione accidentale di file critici!

In alcune versioni precedenti a Windows 7, l'eliminazione di una giunzione o di un collegamento simbolico in Explorer eliminerebbe automaticamente anche la DIRECTORY ORIGINALE!

Io credo che questo problema ora è stato risolto ... ma naturalmente io faccio promesse ... Prestare particolare attenzione con i browser di file di terze parti (se siete al punto di aver bisogno di link simbolici, sono sicuro che sei dolorosamente consapevole di quanto è difficile Windows Explorer.)

Ma sto divagando. Il mio punto è: fai attenzione, fai i compiti e leggi la documentazione LSE per scoprire come funzionano veramente giunzioni e collegamenti simbolici, e per l'amor di Dio, torna indietro TUTTO prima di iniziare a fare confusione con giunzioni e collegamenti simbolici!


9

la directory di riferimento dovrebbe funzionare come se fosse stata effettivamente aggiunta a% PATH%, giusto

No, se hai aggiunto C: \ bin al tuo% PATH% e all'interno di c: \ bin hai creato una giunzione chiamata c: \ bin \ anotherDir \ per puntare a c: \ anotherDir \ in modo da poter eseguire some.exe da la riga di comando come:

> anotherDir\some.exe

Ciò non funzionerebbe poiché la variabile% PATH% non funziona con le sottodirectory (con collegamenti simbolici o meno)

dovresti creare un hardlink direttamente su some.exe, quindi il hardlink c: \ bin \ some.exe punta a c: \ anotherDir \ some.exe

Quindi, in sintesi, non credo che tu possa fare esattamente quello che stai chiedendo. Detto questo, raccomando l' estensione della shell di collegamento per la creazione di giunzioni e collegamenti. Offre più funzionalità rispetto alla maggior parte degli strumenti di giunzione in un'estensione di Windows Explorer molto facile da usare


7

Prova Symlinker uno strumento GUI per creare Symlink in Windows

Questa applicazione richiede .Net Framework 3.5 per funzionare (SP1 consigliato) e dal 24/04/2015 questo software funzionerà solo con

  • Windows Vista
  • Windows 7
  • Windows 8 e 8.1

Interfaccia utente di Symlinker


Può creare collegamenti simbolici su Windows XP?
— Sebastian Godelet,

7

COMANDO NATIVO per Windows Vista, 7 e 8:

  1. File Symbolic Link (impostazione predefinita):
    • mklink <oldpath> <newpath>
  2. Directory Symbolic Link :
    • mklink /D <oldpath> <newpath>

Questa era già stata proposta come risposta 7 anni fa.
— Josh,

3
Questo è imprecisa: Windows XP non non nativamente dispone di un mklinkcomando.
— patricktokeeffe,

Vista è stata la prima versione di Windows a includere mklink, per technet.microsoft.com/en-us/library/cc753194(v=ws.11).aspx
— dico Reinstate Monica il

4

Non credo che la versione di NTFS fornita con XP supporti i collegamenti simbolici. NTFS6, fornito in Vista e Windows 7, supporta i collegamenti simbolici con il mklinkcomando. La versione XP di NTFS fa hardlinks di supporto, ma questi non può estendersi volumi.


2

La giunzione è una grande utilità, ma una cosa da tenere in considerazione è che i punti di giunzione sembrano esattamente gli stessi delle normali cartelle in Esplora risorse.

Utilizzare 'junction.exe -s' nella riga di comando per elencare tutti gli incroci in cartelle e sottocartelle.





Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.