如何使用mklink建立具有相对路径的符号链接?


25

该网页暗示可以使用进行相对路径的符号链接mklink

我尝试了各种方式来建立相对的符号链接,但是我总是以绝对路径结尾。

怎么做?


MSDN有一种奇怪的解释方式。由于没有实际的示例,我很难理解如何进行符号链接。
iglvzx

我知道这种“奇怪方式”的唯一原因是因为MSDOS使用此方法。
surfasb

当问题是由TCC / LE中的错误引起时,我不明白为什么我的问题现在有20,000个视图。默认情况下,通常将符号链接设为相对链接。
paradroid '17

Answers:


38

默认情况下,符号链接是相对的。您必须显式地写一个驱动器号,以使链接的任何部分成为绝对的。

符号链接的一般语法为:

mklink link destination

因此,要创建相对的符号链接:link将成为相对于您的工作目录的路径,并将成为相对于您的工作目录destination的路径link

例子:

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

这将创建一个符号链接,link.txt该链接指向destination.txt一个文件夹。

您可以四处移动link.txt,它将始终指向destination.txt一个文件夹。

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

C:\A\Link.txt将为创建一个符号链接C:\Destination.txt


就是这个。与其从驱动器号或反斜杠开始,不如从目录开始。例如,mklink destination.txt "documentation\readme.txt"将指向一个子文件夹名为documetation”,并要求* readme.txt文件夹中的文件
surfasb

@ surfasb,@ iglvzx:起初我很困惑,因为这正是我一直在尝试的方法。但是,当你们俩都确认这种方法有效时,我已经意识到它确实可以在中使用CMD,但在中却没有TCC/LE,这是我一直在使用的。我很惊讶它正在更改(扩展)外部程序的路径参数。
paradroid

@surfasb:TCC / LE的此问题已在新v13中修复,但在我一直使用的12.11.76中发生了。
paradroid

2
@paradroid:我很高兴它正在解决。我深深地记得TCC的旧版本。您现在已经使用多久了?是的,另外一点,是PATH枚举的细微差别让我感到困惑。还有关于过去的MS-DOS兼容性决定仍然如何影响我们的[blog post] :( blogs.msdn.com/b/oldnewthing/archive/2005/11/22/495740.aspx)。
surfasb
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.