Come si crea un collegamento simbolico con un percorso relativo usando mklink?


25

Questa pagina web implica che è possibile creare collegamenti simbolici con percorsi relativi usando mklink.

Ho provato tutti i modi per creare collegamenti simbolici relativi, ma finisco sempre con un percorso assoluto.

Com'è fatto?


MSDN ha uno strano modo di spiegarlo. Ho avuto difficoltà a capire come creare un collegamento simbolico, dal momento che non ci sono esempi reali.
iglvzx,

L'unica ragione per cui conosco questo "strano modo" è perché MSDOS usa questo metodo.
surfasb,

Non capisco perché la mia domanda abbia ora 20.000 visualizzazioni, quando il problema è stato causato da un bug in TCC / LE. I collegamenti simbolici sono resi relativamente di default di solito.
Paradroid,

Risposte:


38

I collegamenti simbolici sono relativi per impostazione predefinita. Devi scrivere esplicitamente una lettera di unità per rendere assoluta qualsiasi parte del collegamento.

La sintassi generale per un collegamento simbolico è:

mklink link destination

Quindi, per creare un collegamento simbolico relativo: linksarà un percorso relativo alla directory di lavoro e destinationsarà un percorso relativo a link.

Esempi:

1. mklink link.txt ..\destination.txt

Questo crea un collegamento simbolico per il link.txtquale punta a destination.txtuna cartella in alto.

Puoi spostarti link.txte indicherà sempre destination.txtuna cartella in alto.

2. C:\>mklink A\Link.txt ..\Destination.txt

Questo crea un collegamento simbolico C:\A\Link.txtperC:\Destination.txt


Questo è. Invece di iniziare con una lettera di unità o una barra rovesciata, si inizia con una directory. ad es. mklink destination.txt "documentation\readme.txt"indicherà una cartella figlio chiamata documetation "e un file in quella cartella chiamato * readme.txt .
surfasb

@surfasb, @iglvzx: All'inizio ero confuso, poiché è esattamente quello che ho provato. Ma mentre confermate entrambi che funziona, mi sono reso conto che funziona CMD, ma non in TCC/LE, che è quello che ho usato. Sono sorpreso che sta alterando (espandendo) gli argomenti del percorso per i programmi esterni.
paradroid

@surfasb: questo problema con TCC / LE è stato risolto con il nuovo v13, ma si è verificato con il 12.11.76, che stavo usando.
paradroid

2
@paradroid: sono contento che stia funzionando. Ricordo con affetto la vecchia vecchia versione di TCC. Da quanto tempo lo usi adesso? Su un altro no, sì, le sfumature dell'enumerazione PATH mi sconvolgono. E l'obbligatorio [post di blog] :( blogs.msdn.com/b/oldnewthing/archive/2005/11/22/495740.aspx ) su come le decisioni passate di MS-DOS sulla compatibilità ci riguardano ancora oggi.
surfasb,
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.