我通过 mklink 创建连接和符号链接没有问题,但无法使用此命令创建硬链接。它返回“拒绝访问”,在不同的机器上尝试过 Windows 7 和 8.1,cmd 以管理权限启动。D:\>mklink /d /h dirA dirB
当然目录B存在。我应该做些什么才能无错误地运行此命令?
答案1
我很确定您无法创建指向文件夹的硬链接,只能创建文件。不过符号链接/D
和连接点/J
可以用于文件夹。
另外,创建硬链接时,请记住不能在两个不同的驱动器之间创建链接(即使在同一个物理硬盘驱动器上)。
另一个 SU 的简短解释回答:
硬链接是一种文件系统功能,不能跨越文件系统边界。您无法将 C: 上的文件硬链接到 D:,因为它们是独立的文件系统。它们可能各自包含相同类型的文件系统(例如 NTFS),但它们是独立的文件系统。
答案2
正如 David 在回复 Braden 时所评论的那样,从技术上讲,连接点可能不是“硬文件夹链接”,但我认为可以说“/J
是更难比/D
”
例如,如果您mklink /D "..\link_dir" "existing_dir"
,您将无法进入“link_dir”。但是,如果您使用 ,则cd
可以。cd
/J
答案3
不,您可以创建指向文件夹/目录的硬链接。这称为连接。mklink /J
https://msdn.microsoft.com/en-us/library/windows/desktop/aa365006(v=vs.85).aspx http://www.sevenforums.com/tutorials/278262-mklink-create-use-links-windows.html
此外,mklink /D 会创建目录符号链接,而不是硬链接。实际上,符号链接是文件和文件夹的“花哨快捷方式”,而硬链接有点像文件的“文件同步”,其中“快捷方式”是目标文件的“孪生”;对其中一个进行更改,就会对两个文件都进行更改……但实际上驱动器上实际上只有一个物理文件,因此如果目标文件大小为 500MB,则只使用了 500MB。JUNCTIONS 是文件夹的硬链接,其功能与硬链接相同。