Junction e link simbolici in Windows

In questo periodo in cui ho lavorato molto con le copie locali dei due blog, il vecchio con SPB ed il nuovo su WordPress, una delle cose che mi è tornata davvero utile sono i link simbolici o giunzioni (junction) che sono supportati su piattaforme Windows a patto che si stia usando una partizione con file system NTFS (quindi no Windows 98 e compagnia).

La situazione è la seguente: spesso e volentieri ci si trova ad aprire file situati in posizioni assurde, navigando fra le cartelle sono necessari una trentina di click prima di arrivarci e l’operazione la si deve ripetere più e più volte. Beh ci sono molti rimedi a questo problema, uno di questi è impostare una junction assegnando al la carrtella un percorso “umanamente accessibile 🙂

Ma vediamo l’esempio pratico. Io mi ero trovato a dover lavorare con dei file che risiedevano in queste due cartelle:

C:\Programmi\Xampp\htdocs\Blog\
C:\Programmi\Xampp\htdocs\wordpress

senza contare che molte volte i file con cui operare erano situati in delle sottocartelle di questi percorsi, ad esempio:

C:\Programmi\Xampp\htdocs\wordpress\wp-content\themes\k2\styles

con la difficoltà di dover accedere di volta in volta a queste cartelle. Lo so che è possibile configurare Apache in modo da usare una qualunque cartella come localhost, e difatti su Windows 98 applicavo questa strategia, ma con una partizione NTFS esiste un metodo più semplice e cioè quello di creare un riferimento virtuale alla cartella utilizzando il comando junction, da riga di comando:

junction C:\localhost C:\Programmi\Xampp\htdocs\
junction  C:\k2 C:\Programmi\Xampp\htdocs\wordpress\wp-content\themes\k2

e da questo momento in poi sarà lo stesso scrivere C:\Programmi\Xampp\htdocs oppure C:\localhost. La cosa importante è che questa associazione varrà finchè formattazione non vi separi o la rimuoviate mediante il comando junction stesso (vedere l’help in linea). Si potrebbe usare anche il comando SUBST per associare ad un percorso una lettera di drive, ma oltre ad essere una scelta meno efficace (le lettere sono limitate ed è più difficile memorizzare la loro associazione con le cartelle), richiede che sia eseguito ogni volta che si riavvia il PC (autoexec.bat is deprecated in Windows XP :-P).

La cosa potrebbe tornar utile anche a coloro che non hanno avuto l’accortezza di creare i profili di Firefox e Thunderbird in una seconda partizione (o ancora meglio spostare l’intera %appdata%), il profilo è solitamente allocato in una sottocartella di livello sette quindi associarlo ad un percorso C:\Profiloff non è affatto una cattiva idea quando si lavora con i file di configurazione :-).

Consultando Google, sembra che nonostante Windows XP supporti i link simbolici, non esista all’interno del pacchetto base uno strumento per la loro creazione/gestione e che il pacchetto aggiuntivo minimale che si deve installare per poterli usare sia di svariati MB, con l’aggiunta di componenti che possono anche non servire affatto. Fu così che Mark Russinovich creò un piccolo applicativo di qualche Kb per poter gestire i link simbolici su XP :-)., ora la sua azienda (SysInternal) software è parte integrante della Microsoft che l’ha acquisita circa un anno e mezzo fa. il download è gratuito ed in fase di primo avvio vi verrà richiesto di accettare la licenza, nei futuri usi non verrà più mostrato il fastidioso popup.

Il file junction.exe per poter essere usato a prescindere dalla posizione in cui ci si trova, è meglio sia messo in una cartella facente parte del PATH di sistema, ad esempio C:\Windows andrà bene.

Download: Junction

Technorati Tags: , ,

12 Responses to “Junction e link simbolici in Windows”


  • Mozilla Firefox 2.0.0.10 Windows XP

    C’entra qualcosa? Fanno la stessa cosa?

    http://forge.novell.com/modules/xfmod/project/?ntfslink

  • Mozilla Firefox 2.0.0.10 Windows XP

    Si, fanno la stessa cosa. Rispetto a quello che avevo proposto io, NTFSLink:

    • deve essere installato;
    • è OpenSource;
    • è localizzabile, anche se al momento è presente solo il tedesco;
    • si integra con l’Explorer

    probabilmente per chi ama le finestrelle è anche migliore .-).
    Ciao

  • Internet Explorer 7.0 Windows XP

    L’autore di Sysinternal ha sempre creato applicazioni molto utili.

  • Mozilla Firefox 2.0.0.14 Windows XP

    Mi interessava la faccenda di poter creare un link simbolico per le cartelle dei profili (o meglio la cartella Mozilla) di Firefox,
    ma quando prova a dargli in pasto la stringa C:\Documents and Settings\utente\Dati applicazioni\Mozilla, junction mi restituisce la videata di help e non crea il “collegamento”.

    Non riesco a farlo funzionare neppure con il nome breve.

    Hai qualche suggerimento? Grazie.

  • Mozilla Firefox 2.0.0.14 Windows XP

    Credo dipenda dal fatto che ci sono gli spazi nel percorso. Prova a metterlo fra virgolette.
    A me ha funzionato visto che ho i due profili in c:\profilotb e c:\profiloff.
    Una roba del genere:
    junction c:\Profiloff “C:\documents and settings\….”

    Ciao

  • Mozilla Firefox 2.0.0.14 Windows XP

    Grande! Mancavano solo le doppie virgolette.
    Grazie tante.

    Ciao.

  • Opera 9.52 Windows XP

    Ottimo!!!

    Desideravo da tanto questa funzione su XP! Su linux c’è da molto…
    grazie ancora

  • Mozilla Firefox 3.0.3 Windows XP

    In Windows (XP) c’è sempre stata :-), peccato MS si sia “dimenticata” di fornire un tool per sfruttarla !
    Ciao

  • Internet Explorer 7.0 Windows XP

    non riesco ad attivare junction su win xp, ho lanciato l’exe ma da dos mi dice che il comando non e presente?

    mi dicevano che mklink dovrebbe funzionare anche con xp?

    Grazie

  • Mozilla Firefox 3.0.8 Windows XP

    @Vin,
    dove hai messo l’eseguibile junction.exe ?
    Deve stare in una cartella inserita nel PATH di sistema per essere visibile. Ti consiglio di metterlo in C:\Windows.
    Ciao

  • Mozilla Firefox 2.0.0.20 Windows 98

    grazie gialloporpora, funziona correttamente, ma purtroppo non è valido con i collegamenti di rete,quindi l’archivio deve essere sempre sullo stesso pc….. non hai qualce idea su comandi che permettano link anche in rete ???? grazie

  • Mozilla Firefox 3.1b3 Windows XP

    Purtroppo non sembra possibile:
    http://forum.sysinternals.com/forum_posts.asp?TID=7122

    è proprio una questione di sistema operativo che non prevede la gestione di link simbolici a risorse in rete.
    Ciao

Leave a Reply