Prima di tutto, una rapida definizione dei termini. Ci sono tre tipi di “symlink” su Windows.

  • Link soft (chiamati anche symlink, o link simbolici)
  • hard link
  • giunzioni (un tipo di link soft solo per le directory)

I link soft possono essere creati per file o directory.

I link hard possono essere creati solo per file.

Entrambi i collegamenti soft e hard devono essere creati sullo stesso volume della destinazione. cioè non puoi collegare qualcosa su C: a qualcosa su D:.

Eliminare i collegamenti

Questo è dove la differenza tra collegamenti soft e hard è più evidente.

Eliminare la destinazione farà sì che i collegamenti soft smettano di funzionare. Ciò a cui punta non c’è più. Gli hard link invece continueranno a funzionare fino a quando non cancellerai l’hard link stesso. L’hard link si comporta proprio come il file originale, perché a tutti gli effetti è il file originale.

Junctions

Windows ha anche un altro tipo di collegamento solo per le directory, chiamato Junctions.

Junctions sembra e si comporta come i soft link. La differenza chiave è che ti permettono di collegare directory che si trovano su volumi locali diversi (ma ancora sullo stesso computer). Non puoi creare un collegamento a una posizione di rete.

Usando MKLINK

Crea un collegamento morbido a una directory.

Crea un collegamento di giunzione a una directory.

Crea un collegamento morbido a un file.

Crea un hard link a un file.

Come sono fatti.

Nota per gli utenti PowerShell:
MKLINK non è un eseguibile che puoi semplicemente chiamare da PowerShell. Devi chiamarlo attraverso il prompt dei comandi.

cmd /c mklink /D symlink_dir real_dir

In alternativa, puoi usare questo modulo che ho scritto che ha wrapper PowerShell nativi per MKLINK.

Leggi su MSLINK su MSDN.

Usare FSUTIL

FSUTIL è un altro modo per creare hard link (ma non soft link). Questo è lo stesso di mklink /H.

Leggi su FSUTIL su MSDN.

Usare Junction

Junction è uno strumento fornito da Sysinternals e fornisce un altro modo per creare collegamenti. È uguale a mklink /J. Ha anche alcuni altri strumenti per lavorare con le giunzioni che non coprirò qui.