当应用程序移动时,Windows 7 现在会修改快捷方式吗?

当应用程序移动时,Windows 7 现在会修改快捷方式吗?

我刚刚发现,如果我.lnk在 PC 上有一个可执行文件的快捷方式 ( ),然后我将 exe 移动到 PC 上的另一个文件夹,快捷方式将自动更新以反映新位置。这种情况发生在几乎完全修补的 Windows 7 (x64) PC 上 - 也在另一个类似的 W7 机器上得到证实。

这是什么时候开始发生的?这非常令人惊讶,因为这不是 Windows 诞生以来所期望的功能。(如果您依赖快捷方式的旧行为,情况会特别糟糕。)现在在任何其他版本的 Windows 上是否也发生这种情况?

答案1

尽管这些年来 Windows 变得越来越智能,但它已经跟踪快捷方式很长一段时间了。

在 Windows 95 中,如果您尝试使用不存在的文件的快捷方式,Windows 会在邻近目录中搜索具有与缺失文件相似的属性(例如创建时间)的文件。如果您在文件夹层次结构中将文件移得离其起始点太远,Windows 可能会在找到它之前放弃。

在 Windows NT 中,微软引入了 NTFS,它在很多方面都比 FAT32 更好。相关地,它可以为每个文件和卷分配一个对象标识符。当快捷方式损坏时,Windows 会查找对象标识符,无论您移动或重命名卷内的文件多少次,该标识符都保持不变。

进一步阅读:追踪捷径作者:Raymond Chen。

在 Windows 2000 中,Microsoft 添加了分布式链接跟踪客户端服务。此服务会监视移动的文件。当您跨卷移动文件(从而更改对象标识符)时,它会记录原始位置和新位置。如果对象标识符查找无法修复损坏的快捷方式,则分布式链接跟踪客户端服务可以在其他驱动器上找到它。请注意,如果您停止该服务,卷内修复仍将有效,但跨卷移动实际上会破坏快捷方式。在域中,此客户端服务与域控制器上的对应服务分布式链接跟踪服务器协同工作,即使目标在计算机之间移动,它也可以协助找到丢失的目标。

进一步阅读:基于 Windows 的域控制器上的分布式链接跟踪

最近似乎没有对该架构进行任何更改。我在 Windows 10 上也看到了这种行为。值得一提的是,可以使用“跟踪快捷方式”文章中提到的策略来更改快捷方式跟踪行为。

相关内容