简单易用的在Windows上创建符号链接的方法?


Answers:


108

你看过了吗 交界处吗?

此外,Windows Vista引入了mklink命令行工具来创建符号链接。

MKLINK [[/D] | [/H] | [/J]] Link Target
    /D      Creates a directory symbolic link.  Default is a file
            symbolic link.
    /H      Creates a hard link instead of a symbolic link.
    /J      Creates a Directory Junction.
    Link    specifies the new symbolic link name.
    Target  specifies the path (relative or absolute) that the new link refers to.

Scott Hanselman在上对此有文章 http://www.hanselman.com/blog/MoreOnVistaReparsePoints.aspx

如果您仅谈论Windows XP,那么我只使用过Junction工具。


4
看起来另一个选择可能是mklink上的/ J开关(例如“ mklink / J <JUNCTION> <DIR>”)。请注意,它不是单独的可执行文件,而是cmd中的命令,因此,如果您从PowerShell调用,则必须将Shell打包为cmd(即“ cmd / c mklink / J <JUNCTION> <DIR>” )
David Mohundro

哇结很棒。它创建了一个真正的符号链接,因此即使Cygwin也会跟随它。
styfle 2011年

3
mklink正是我想要的。
prolink007

2
为什么哦,为什么他们从古老的UNIX ln命令中颠倒了参数的顺序?
kbolino '16

1
@kbolino:容易!因为他们只是希望开源世界能够跟上他们的步伐……呃。
tniles

22

有一个名为Link Shell Extension的工具,可轻松创建到文件的符号链接,以及一种较旧的链接类型,称为“ Junction”(基本上是指向文件夹的符号链接),以及许多其他类型的链接。

在此处输入图片说明

基本用法很简单:导航到源文件夹,右键单击要链接到的文件或文件夹,然后从上下文菜单中选择新的“ Pick Link Source”选项。然后转到要放置链接的文件夹,单击鼠标右键,然后选择“拖放为”,然后为文件选择“符号链接”或为文件夹选择“连接”。

注意:Microsoft很难做到这一点的一个原因是,结点和符号链接可以使意外删除关键文件变得非常容易!

在Windows 7之前的某些版本中,在资源管理器中删除结点或符号链接也会自动删除原始目录!

相信这个问题已经解决了...但是我当然不作承诺...使用第三方文件浏览器时要格外小心(如果您需要符号链接,我相信您很痛苦了解Windows 7资源管理器的打击情况。)

但是我离题了。我的观点是:要小心,做功课并阅读LSE文档,以了解结点和符号链接的真正工作方式,并且为了高举自己的想法,在开始弄乱结点和符号链接之前,请恢复一切!


9

引用的目录应该像实际已添加到%PATH%一样工作,对

不,如果您将C:\ bin添加到%PATH%中,并且在c:\ bin内创建了一个名为c:\ bin \ anotherDir \的Junction,指向C:\ anotherDir \,以便可以从以下位置运行some.exe:命令行如下:

> anotherDir\some.exe

这将不起作用,因为%PATH%变量不适用于子目录(是否有符号链接)

您将需要直接创建到some.exe的硬链接,因此该硬链接c:\ bin \ some.exe指向c:\ anotherDir \ some.exe

因此,总而言之,我不相信您可以完全按照自己的要求做。那就是说,我确实建议使用Link Shell Extension来创建连接点和硬链接。在一个非常易于使用的Windows资源管理器扩展程序中,它提供了比大多数联结工具更多的功能。



7

原生Windows Vista,7和8命令:

  1. 文件符号链接(默认):
    • mklink <oldpath> <newpath>
  2. 目录符号链接
    • mklink /D <oldpath> <newpath>

7年前已经提出了答案。
2015年

3
这是不准确的:Windows XP中并没有原生有一个mklink命令。
patricktokeeffe

Vista是第一个包含Windows的Windows版本mklink,其网址
我说的是恢复莫妮卡(Monica)

4

我认为XP随附的NTFS版本不支持符号链接。Vista和Windows 7中附带的NTFS6支持该mklink命令的符号链接。XP版本的NTFS 确实支持硬链接,但是这些硬链接不能跨越卷。


2

接合点是一个很棒的实用程序,但要注意的一件事是,接合点看起来与Windows资源管理器中的普通文件夹完全相同。

在命令行上使用“ junction.exe -s”列出文件夹和子文件夹中的所有联结。





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.