Windows7硬链接通过两个不同的驱动器


13

我正在尝试在C驱动器上创建一个指向D驱动器上的文件的硬链接。我用管理员权限打开一个终端,然后尝试以下操作:

C:\Users\sandro>mklink /H _vimrc D:\sandro-desktop\.vimrc

我得到的错误是:系统无法将文件移动到其他磁盘驱动器。

当我尝试进行软链接时,出现问题,由于某种原因,链接内容的更改未反映在目标文件中。

谢谢!


如何_vimrc在目标,而不是.vimrc
ulidtko 2011年

没有答案,但是您会在这里找到很好的信息,schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
2011年

Answers:


21

硬链接是无法跨越文件系统边界的文件系统功能。您不能将C:上的文件硬链接到D :,因为它们是独立的文件系统。它们可能每个都包含相同类型的文件系统(例如NTFS),但是它们是单独的文件系统。


我相信s /不同/分开/会更合适。
user1686

@grawity:是的,同意。如此编辑。
迈克·菲茨帕特里克

您对我如何解决这个问题有想法吗?
Sandro

您可以将Windows 7用户配置文件(或仅将“我的文档”文件夹)迁移到驱动器D,然后进行硬链接。如果这样做,请确保在Windows 7中使用正确的方法(通常通过“属性”选项卡)-不要将文件夹从C:手动移至D:
Mike Fitzpatrick,

当C:和D:之间的硬链接有效时,唯一的情况是它们位于同一文件系统上,例如subst D: C:\utils(当然,使用注册表创建该文件以使其subst持久化)。
miroxlav

3

如果是Windows 7,您可以使用符号链接-steammover可以做到这一点


那和我现在在做什么?我想我可以试试看:)
Sandro

symlinks在目录之间起作用-许多与旧联结相关的选项无效。另外,由于有一个简洁的前端,可以告诉您该命令,因此更容易确定要执行的操作。我主要使用的是XP,所以我不确定它是否“更好”,但根据我的阅读,它应该以最小的麻烦完成您需要的工作
Journeyman Geek

2
@Sandro:技术细节:两个硬链接指向同一个索引节点(在Unix上;但是在Windows的NTFS中非常相似),它们仅在单个文件系统中起作用。两个硬链接完全相同;没有“原版”。另一方面,符号链接指向path,实际上它可以是任何文本。
user1686

如果那是符号链接的工作方式,那么当我对一个文件进行更改时,另一个却不显示更改怎么办?
桑德罗(Sandro)

-3

尝试这个:

mklink /H "C:\Users\sandro_vimrc" "D:\sandro-desktop\.vimrc"

我猜想这与目标的文件名有关。尝试在目标链接周围使用引号。

我认为您的链接也必须是完整的路径。


我尝试了那些,还是什么也没有。谢谢你的主意!
Sandro

这可能是目标的点名称。它对其他文件有效吗?
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.