Con*_*rad 2 windows-7 shortcuts file-shortcut
我刚刚发现,如果.lnk
我的 PC 上有一个可执行文件的快捷方式 ( ),然后我将 exe 移动到 PC 上的另一个文件夹,快捷方式将自动更新以反映新位置。这发生在几乎完全打补丁的 Windows 7 (x64) PC 上——也在另一个类似的 W7 机器上得到证实。
这是什么时候开始发生的?这是非常令人惊讶的,因为自 Windows 诞生以来,这并不是预期的功能。(如果您依赖快捷方式的旧行为而只是失败,则尤其糟糕。)现在是否会在任何其他版本的 Windows 上发生这种情况?
一段时间以来,Windows 一直在跟踪快捷方式,尽管多年来它变得越来越聪明。
在 Windows 95 中,如果您尝试使用不存在文件的快捷方式,Windows 将在相邻目录中搜索属性(例如创建时间)与丢失的文件相似的文件。如果您将文件在文件夹层次结构中从起点移得太远,Windows 可能会在找到它之前放弃。
在 Windows NT 中,微软引入了 NTFS,它在很多方面都比 FAT32 好。相关地,它可以为每个文件和卷分配一个对象标识符。当快捷方式被破坏时,Windows 会查找对象标识符,无论您在一个卷内移动或重命名文件多少,该标识符都保持不变。
进一步阅读:Raymond Chen 的跟踪快捷方式。
在 Windows 2000 中,Microsoft 添加了分布式链接跟踪客户端服务。该服务密切关注移动的文件。当您跨卷移动文件(从而更改对象标识符)时,它会记录原始位置和新位置。如果对象标识符查找不能修复损坏的快捷方式,分布式链接跟踪客户端服务可以在不同的驱动器上找到它。请注意,如果您停止该服务,卷内修复仍然有效,但跨卷移动实际上会打破捷径。在域中,此客户端服务与其在域控制器上的对应项(分布式链接跟踪服务器)协同工作,即使它在计算机之间移动,它也可以帮助找到丢失的目标。
进一步阅读:基于 Windows 的域控制器上的分布式链接跟踪。
最近似乎没有对该架构进行更改。我也在 Windows 10 上看到了这种行为。就其价值而言,可以使用跟踪快捷方式文章中提到的策略更改快捷方式跟踪行为。