Condividi tramite


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 dot (. e ..), ad esempio ".. \" risolve il percorso relativo alla directory padre.

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

  • Radice relativa, ad esempio "\Windows\System32" viene risolto in "unità corrente:\Windows\System32". directory

  • Corrente relativo alla directory di lavoro, 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 la directory di lavoro corrente viene elaborata in base all'utente e al thread.

Un collegamento simbolico può contenere anche 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 'X' contiene un componente , 'absLink', che è un collegamento simbolico assoluto. Quando viene rilevato "absLink", il frammento del percorso originale fino a e l'inclusione di "absLink" viene completamente sostituito dal percorso a cui punta "absLink". Il resto del percorso dopo 'absLink' viene aggiunto 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 'x', contiene un componente 'link', che è un collegamento simbolico relativo. Quando viene rilevato 'link', 'link' viene completamente sostituito dal nuovo frammento a cui punta 'link'. Il resto del percorso dopo 'link', viene aggiunto al nuovo percorso. Qualsiasi punto (..) in questo nuovo percorso sostituisce 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