it-swarm.cn

如何在Windows中创建符号链接?

Windows Vista添加了创建指向文件和目录的符号链接的功能。如何创建符号链接,以及当前支持该链接的Windows用户和服务器版本是什么?

113
cowgod

您可以使用命令行实用程序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.

从Windows Vista和Windows Server 2008开始,可以通过mklink使用符号链接。在Windows XP和Windows Server 2003上,可以使用

fsutil hardlink create <destination filename> <source filename>

根据 msdn.Microsoft ,FAT16/32和exFAT不支持符号链接。看来Windows仅支持或支持NTFS-Partition。未来的Windows操作系统可能会继续支持mklink。

您可以在 Microsoft TechNetJunfeng Zhang的博客howtogeek.com 上阅读有关此新功能的更多信息。

110
cowgod

在Windows上XP,您可以使用fsutil(内置于操作系统中)创建硬链接

 fsutil hardlink create c:\foo.txt c:\bar.txt

请记住,fsutil仅在两者都在同一驱动器上时才起作用

30
saschabeaumont

一件事,如果您使用的是Powershell,则mklink无法直接运行,请按以下方式运行它:

PS C:\d\eclipseInstalls> cmd /k mklink /D antRunner 3.4.2
symbolic link created for antRunner <<===>> 3.4.2
10
francisu

使用 Sysinternals (Microsoft)中的 mklinkjunction 。我相信mklink在Windows 2000及更高版本中都可以使用,但是我找不到关于它的任何硬性文档。 结点适用于Windows 2000及更高版本。

7
user2287

在任何答案中都没有看到这一点,但是linkd.exe(在Windows 2003资源工具包中 在这里 )允许您创建结点,该结点在Linux中的功能类似于软/硬链接。 Windows 2000及更高版本提供连接点,因此只需将linked.exe复制到目标系统即可。

4
romandas

如果您仍然使用旧Windows,例如XP,2000、2003等,请尝试NTFS链接

我经常使用。您会获得一个Shell链接,右键单击菜单选项以创建一个交接点。优秀的东西。

3
Stewart Robinson

请参阅 TechNet 条目。我相信这是Vista/Server 2008及更高版本的功能。

2
user1797

为了确保链接正常工作,您可能需要检查服务器的配置。可以进行链接,但是除非您在以下命令中使用symlinkevaluation设置,否则您的链接可能无效。

fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1

另请参阅 http://technet.Microsoft.com/zh-cn/library/cc754077%28v=ws.10%29.aspx 。默认情况下,仅激活本地选项。

1
user906489