Creazione di collegamenti simbolici

La funzione CreateSymbolicLink consente di creare collegamenti simbolici usando un percorso assoluto o relativo.

I collegamenti simbolici possono essere collegamenti assoluti o relativi. I collegamenti assoluti sono collegamenti che specificano ogni parte del nome del percorso; I collegamenti relativi vengono determinati in relazione alla posizione in cui gli identificatori di collegamento relativo si trovano in un percorso specificato. I collegamenti relativi vengono specificati usando le convenzioni seguenti:

  • Convenzioni punto (. e ..), ad esempio ".. \" risolve il percorso relativo alla directory padre.

  • I nomi senza barre (\),ad esempio "tmp" risolve il percorso relativo alla directory corrente.

  • Radice relativa, ad esempio "\Windows\System32" viene risolta nell'unità corrente:\Windows\System32". directory

  • Directory di lavoro corrente relativa, ad esempio se la directory di lavoro corrente è "C:\Windows\System32", "C:File.txt" viene risolta in "C:\Windows\System32\File.txt".

    Nota Se si specifica un collegamento relativo alla directory di lavoro corrente, viene creato come collegamento assoluto, a causa del modo in cui viene elaborata la directory di lavoro corrente in base all'utente e al thread.

Un collegamento simbolico può anche contenere punti di giunzione e cartelle montate come parte del nome del percorso.

I collegamenti simbolici possono puntare direttamente a un file o a una directory remota usando il percorso UNC.

I collegamenti simbolici relativi sono limitati a un singolo volume.

In questo esempio il percorso originale contiene un componente , 'x', che è un collegamento simbolico assoluto. Quando viene rilevato "x", il frammento del percorso originale fino a e l'inclusione di 'x' viene completamente sostituito dal percorso a cui punta 'x'. Il resto del percorso dopo l'aggiunta di 'x' a questo nuovo percorso. Questo diventa ora il percorso modificato.

X: "C:\alpha\beta\absLink\gamma\file"

Collegamento: "absLink" esegue il mapping a "\\machineB\share"

Percorso modificato: "\\machineB\share\gamma\file"

In questo esempio il percorso originale contiene un componente 'x', che è un collegamento simbolico relativo. Quando viene rilevato 'x', 'x' viene completamente sostituito dal nuovo frammento a cui punta 'x'. Il resto del percorso dopo 'x', viene aggiunto al nuovo percorso. Tutti i punti (..) in questo nuovo percorso sostituiscono i componenti visualizzati prima dei punti (..). Ogni set di punti sostituisce il componente precedente. Se il numero di punti (..) supera il numero di componenti, viene restituito un errore. In caso contrario, al termine di tutte le sostituzioni dei componenti, il percorso finale modificato rimane.

X: C:\alpha\beta\link\gamma\file

Collegamento: "link" esegue il mapping a ".. \.. \theta"

Percorso modificato: "C:\alpha\beta\.. \.. \theta\gamma\file"

Percorso finale: "C:\theta\gamma\file"

Collegamenti simbolici

Collegamenti rigidi e giunzioni

Denominazione di file, percorsi e spazi dei nomi