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.