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

评论

有人可以强调符号链接和快捷方式之间的区别吗?

@tomjedrz:如果您使用快捷方式,则任何打开该快捷方式的API都会打开一个文本文件,其中包含目标文件/文件夹的路径。如果您使用链接,则任何打开该链接的API都会打开目标文件/文件夹。

与所有人所说的相反,我确认可以在Windows XP中使用符号链接。 (我使用它在VM共享文件夹上安装Picasa数据库)。只需查看schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html,然后导航至“ Windows XP的符号链接”部分。 HTH

#1 楼

您可以使用命令行实用程序mklink创建符号链接。从Windows Vista和Windows Server 2008开始,可以通过mklink使用符号链接。 2003您可以使用

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.


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

您可以在Microsoft TechNet,张俊峰的博客或howtogeek.com上阅读有关此新功能的更多信息。

评论


请将David的Technet网址添加到您的条目中以确保完整性。

– Michael Pryor
09年5月11日在18:22

网站说明,什么是结点(/ J选项)?

–罗伊·里科
09年9月22日在21:06

Directory Junction是目录符号链接的一种。 support.microsoft.com/?kbid=205524

–拉拉·道甘(Lara Dougan)
09年12月7日在8:09

自Windows 2000以来,NTFS就一直支持链接(具有各种名称),但它们仅在内部使用,尤其是在SYSVOL域共享中使用。一些实用程序可用于管理它们,但不是内置的; Vista引入了MKLINK工具,并在默认Windows安装中广泛使用了链接。

–马西莫
2011年5月9日下午14:13

很高兴在下面@sascha的回答中提及fsutil,以提供Windows Server 2003的解决方案。

– Phrogz
2011年7月19日在22:13

#2 楼

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

评论


好答案。我在WinXP / Win2003上,需要mklink,但这为我解决了我的问题。我通常使用sysinternals中的junction.exe,但这仅处理目录,在这种情况下,我需要文件链接

– s3v1
2011-3-16在10:37



遗憾的是,至少从我在其他地方所读的内容,fsutil无法创建符号链接。这是一个硬链接,因此不是对该问题的答案。

–Vlasec
2015年5月5日,12:01

#3 楼

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

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


评论


应该是/ c,而不是/ k,否则cmd.exe将不会退出。

–dangph
2010-3-15在7:04

#4 楼

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

评论


正如我上面指出的,命令mklink仅适用于Vista和Server 2008及更高版本。

–user1797
09年5月11日在18:12

#5 楼

在任何答案中都没有看到这一点,但是linkd.exe(在Windows 2003 Resource Kit中)可让您创建结点,该结点的功能几乎与Linux中的软/硬链接相同。结点在Windows 2000及更高版本中可用,因此只需将linked.exe复制到目标系统即可。

评论


注意`/ linkd`仅适用于目录,不适用于文件。

– Phrogz
2011年7月19日在22:11

#6 楼

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

我经常使用它。您会得到一个外壳链接,右键单击菜单选项以创建一个交接点。很棒的东西。

评论


在Windows 2003上,这对我创建指向另一个驱动器上的文件夹的符号链接非常有用。谢谢!

–菲尔
2011-11-13 18:54

来自匿名用户的评论,最初被编辑为答案:“注意:要使XP正常运行,必须使用NTFS分区,而不是FAT或FAT32。有关如何操作的步骤,请参阅aumha.org/win5/a/ntfscvt.php。转换为NTFS。”

–squillman
2012年8月17日19:32

#7 楼

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

评论


很酷,以前从未听说过此功能,感谢您的链接,它可能非常有用!!!

– Marc-Andre R.
09年5月11日在18:11

#8 楼

为了确保链接正常工作,您可能需要检查服务器的配置。
可以进行链接,但是除非您在以下命令中使用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。
默认情况下,仅本地选项是已激活。