相关疑难解决方法(0)

Windows 7 mklink - 硬链接的属性(预期!)+ 内容不影响链接文件

我创建了一个指向我的保管箱目录中的文件的硬链接 - 该链接是在一个文件夹中创建的,该文件需要在该文件夹中被我用来编辑它的程序访问 -

mklink /h path_to_hard_link C:\dropbox\git\repo\existing_file
Run Code Online (Sandbox Code Playgroud)

我开始使用硬链接。在某些时候,我意识到更改不会传播到 repo\ 中的文件 - 文件大小、修改日期,什么都没有 - 甚至不是内容。

我究竟做错了什么 ?

编辑:是否可能依赖于程序?我的意思是我用于这些文件的编辑器确实编辑它们 - 但只编辑硬链接。链接的文件未被修改。此外,此编辑器似乎无法跟踪符号链接

EDIT2:根据surfasb链接的文章:

由于硬链接是文件的目录条目,因此应用程序可以使用其任何硬链接来修改文件。使用任何其他硬链接的应用程序可以检测到更改。

这意味着当使用适当的编辑器直接打开原始文件时必须包含修改 - 不仅仅是通过其硬链接 - 对吗?

但是,只有当用户使用硬链接访问文件时,才会更新硬链接的目录条目。例如,如果用户使用硬链接打开和修改文件,并且原始文件的大小发生变化,则用于访问该文件的硬链接也会显示新的大小。

如果我正确理解了这个可悲的英语样本,这意味着我可以有 69 个硬链接(实际上最多 1023 个)到同一个文件,显示同一个文件的不同大小?!

编辑 3:根据 surfasb 我确实理解这一点 - 文件系统的限制。无论如何 - 奇怪的事情 -情况并非总是如此- 有时属性的更改会立即返回到原始文件中 - 当有更改时 - 我现在真正担心的是我正在使用的至少一个程序似乎没有编辑链接的文件,但只有硬链接。可能的 ? dir /a没有透露太多关于硬链接的信息 - 有什么办法可以看到它们吗?

windows-7 hardlink mklink

6
推荐指数
2
解决办法
4327
查看次数

编辑硬链接不会编辑原始文件

我在 处有一个文件D:\JavaScript\CheckIban.js,我想在很多地方重复使用它而不重复它。因为当我修复错误(更改其内容)时,我需要将该更改传播到所有文件。使用链接,我的计划是更改硬链接的一个实例,并期望其他实例自动更新。

现在,假设我使用以下命令创建了到该文件的硬链接:

mklink /H D:\Projects\Crm\Site\Scripts\CheckIban.js D:\JavaScript\CheckIban.js

我收到了成功消息,表明硬链接是为...创建的

但是,当我打开每个文件并更改它时,另一个文件的内容不会更改。我在这里想念什么?

注意:我无法使用软链接,因为我使用的程序(TFS)不支持使用软链接。

windows hardlink mklink

3
推荐指数
1
解决办法
4589
查看次数

标签 统计

hardlink ×2

mklink ×2

windows ×1

windows-7 ×1