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

Sae*_*ati 3 windows hardlink mklink

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

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

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

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

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

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

Gle*_*owa 5

更改文件和替换文件之间是有区别的。根据 Microsoft 关于硬链接和连接的页面,“对该文件的任何更改对于通过引用该文件的硬链接访问该文件的应用程序来说都是立即可见的。” 但是,请考虑替换文件时会发生什么:文件系统删除该文件(在本例中为硬链接),然后使用与以前的硬链接相同的路径和文件名写入新文件。

因此,这取决于您用来更改文件的程序在更新文件时如何写入文件系统。

另请参见哪些操作会破坏硬链接