如何在Windows系统里面进行文件链接?

如何在Windows系统里面进行文件链接?

已经问过chatgpt o1和deepseek了,回答不理想,也许是问的不对。

背景:文件B是在一个大的文件夹A里面,但是文件B会改名、文件B内容会更改,并且文件会在大文件A的子文件(1、2、3…)里面变更位置。

问题:
当大文件A复制/同步到另外一台电脑上时,大文件A里面的文件和文件之间的快捷方式还在,如何操作?

B在这种情况下, 路径和文件名都发生变化,
甚至内容也发生了变化 (hash也变了)
别说同步到另外一台电脑上了, 就是在本地电脑上
B已经失去了维持链接的任何条件.

当你发现AI回答的"不理想", 大概率是它硬编也编不出来了.

1 个赞

还有一种文件ID的方法,但是wps上面还没有上线

一个名字会变内容会变位置会变的文件,什么忒修斯的船。

你说的文件和文件之间的快捷方式是什么意思。你的背景里提到了文件b,问题里又完全没提文件b,到底是什么意思。

崩不住了,看不懂你说的什么,我学了假的语文。

6 个赞
——— A
    |____ B
    |____ B快捷方式
    |____ ....

如果你是想把这个样子的文件夹复制到其他电脑,那一般情况下快捷方式会失效,除非你能保证复制过去的绝对路径一模一样,同一台设备上快捷方式可以追踪变更的,这是文件系统的功能。

B 文件是有什么特殊需求?经常改名,那它的快捷方式也会失效。
看看用软链接行不行?

scoop 那种吗,直接复制过去我没问题

不行的,文件名(包括路径)和内容都改变了,这和原来的文件没什么关系了吧?

如果文件名固定一部分的话,写个小程序就行了,后面加个参数即可

如果有一个动物,长相会变,名字会变,连基因都会变.

那可能就不是同一个动物.

7 个赞

所谓链接,链接的依据就是路径,更底层点的是硬链接,不过也有同分区内的限制。
一个名称、路径、内容都可能变动的B文件,经过一番变动后,如何判定它就是原来的B,从而被链接文件找到主体?
目前根据问题描述,只得到了B在A里面这一个条件。

我来提一个方案,你看能不能满足你的需要:
在本机上,使用硬链接方式关联不同的访问路径,但是这样各路径是没有主次之分的;
在进行设备间复制时,不要直接进行复制,放弃任何同步方案,转而使用wim格式进行备份,因为wim格式可以备份硬链接状态。但是关于释放到新设备的部分我还没有测试,我注意到不同wim创建工具创建的文件存储的属性有区别,不确定在释放后是否仍能维持链接状态。

如果需要放在移动硬盘上频繁转移而不是复制,也许挂载VHD比备份wim更适合你?但是如果没能在前一台设备上正常卸载,会不会有什么隐患可能也需要进一步测试。

update:同机同分区测试的初步结论是,7-zip创建的wim无论使用哪个工具释放,都不能维持硬链接状态,尽管wim文件确实只占相当于一份图片的大小;DISM++创建的wim,无论使用7-zip还是DISM++释放,都可以保持硬链接,但用7-zip解压时会有 警告: Some files have incorrect reference count

为什么你的文字中会有部分打码(也不见得文字敏感需要打码)?

因为先发出来一版,然后越改越啰嗦,既想交代清楚我没有进行全面测试,又私心觉得最终结论大致也就这样了。所以在不影响主要内容的情况下隐去了一部分。

你直接用vhdx算了,别拷贝来拷贝去的

1 个赞

问题问的有问题,可能需要更为清晰地表达!B在A文件夹中,B会更改名字,会更改内容,可能还在子文件夹1、子文件夹2、子文件夹3…中对吧?
问题:1:你所说的快捷方式指的是谁的快捷方式?如果是B的,那么在B所在子文件夹之外的其它的子文件夹中建立B的快捷方式吗?
问题2:如果文件B的本体被改名了,在没有被复制到另外一台电脑上的时候,你是依靠什么维护B在其它位置的快捷方式正确性的?
只有讲明白了上述,才有进一步解决的办法,否则估计就是写程序以B为锚点进行部署吧!

你的表述理解起来实在费劲,我也无法确定我理解的意思跟你所表达的意思是否一致,所以暂且丢两个微软的文档链接你自己看看吧,或许就是你所期望的功能:

操作系统当然有文件id,但是那不是给用户使用的,对用户来说文件的唯一标识符就是全路径(路径+文件名),对现有文件重命名就理解成删除了源文件创建了一个新文件就完了,不真正理解自己的需求什么大模型也帮不了

为什么要改名字啊?你别改文件名字不就好了嘛?

这个软件严格来说是版本控制软件,但是的确会在本地留存一个版本备份,介于你表达的有点模糊,你可以下载尝试一下
个人修订控制 - FileHamster