如何使快捷方式变为另一个快捷方式?


9

尝试创建另一个快捷方式的快捷方式时,Windows XP会将原始快捷方式的目标分配给新的快捷方式。即使我手动输入目标路径,也会留下原始快捷方式的副本,这会发生。这不是我想要的。

如何使一个文件直接.lnk指向另一个.lnk文件?这种双重间接形式对于管理频繁移动的文件的快捷方式非常有用。


在Windows 7中可以正常工作...在XP中不一样吗?
soandos

@soandos:它创建快捷方式的副本,而不是创建快捷方式的快捷方式。
user541686

@soandos如果您创建快捷方式的快捷方式,则新的快捷方式将引用第一个快捷方式的路径,而不是快捷方式文件本身的路径。这是Windows XP和7的默认行为
iglvzx

Answers:


4

我完全了解链接到链接的效用,并且我也在寻找一种简单的解决方案。我想出的最好的方法是简单地使用Hardlinks,它指向shortcut.lnk文件。我已经测试了符号链接(连接仅用于文件夹,而不是文件,因此未经测试),并且它们不起作用(创建时它们基本上是损坏的文件,无法打开)。

硬链接具有许多优点和缺点。主要缺点是它们几乎不可能轻松备份(您需要第三方软件或脚本来将它们备份到另一个潜水,甚至备份到同一驱动器上的另一个位置)。主要优点是,当您修改原始文件时,它们会自动更新,因此更改1个快捷方式文件(新路径/图标)也会更改所有关联的硬链接[但是,硬链接的名称是唯一的,因此更改文件名不会更改硬链接名称,反之亦然]。硬链接的优点和缺点的另一个特征是,更改硬链接的图标/路径(更改硬链接数据)也将更改原始链接。这不包括“删除链接本身”(链接可以像其他文件一样被删除;而不删除原始文件本身)。这是有利的,因为它可以使所有关联的链接保持同步,但是在硬链接存储在易受攻击的位置,恶意修改了其数据或在修改单个链接的数据时导致用户错误的情况下,这样做是不利的。此更改将传递给包括原始伙伴在内的所有硬链接伙伴。坦率地说,这种行为通常很有用,除非您需要“稳定的源引用”(单向修改)此更改将传递给包括原始伙伴在内的所有硬链接伙伴。坦率地说,这种行为通常很有用,除非您需要“稳定的源引用”(单向修改)此更改将传递给包括原始伙伴在内的所有硬链接伙伴。坦率地说,这种行为通常很有用,除非您需要“稳定的源引用”(单向修改)

我已经在Windows资源管理器中测试了复制单个硬链接和包含硬链接的文件夹的操作,结果只是创建了与原始数据无关的快捷方式(不再关联硬链接,因此,对原始链接的修改不会更改)。我发现缺少这种简单的复制方式非常烦人,这是我不愿广泛使用它们的主要原因,但是,如果您只有几个用于特定目的(例如同步从稳定目录到桌面/任务栏的链接) / startmenu),它们仍然可能是一个很好的解决方案(尽管它们没有真正移植到其他系统中,而无需编写脚本来自动执行其目录构建)。但是,它们确实可以移动而不会中断(创建它们后,您可以将它们移动到文件系统中的任何位置。您无法“复制”它们)。

要进行硬链接,只需打开提升的命令提示符(.cmd向system32打开,或以admin身份运行.cmd)并键入:

mklink /H [path and name of Hardlink] [location of original file]

例:

mklink /H C:\users\you\desktop\hardlink.lnk C:\users\you\location\shortcut.lnk

最好使用其链接到的文件类型(例如,.lnk,但对于记事本文档hardlink.txt或类似名称)指定硬链接,因为它基本上是原始文件的镜像,并且Windows资源管理器将其视为是原始的(再次是有用的行为)。我还应该直接声明它们仅通过命令提示符(或为命令提供shellExtension或gui的第三方软件)创建。此外,它们不是“镜像副本”,它们可能会显示原始对象的文件大小,但本质上它们占用驱动器上的0字节空间;它们实际上是存储到驱动器MFT的引用(这也是无法在2个不同分区之间进行创建的原因[这是值得一提的它们的另一个功能;但是可以通过巧妙地组合快捷键,联结来轻松克服它们) ,符号链接和硬链接一起使用])

坦率地说,我相信这正是您要寻找的,并且它是一个非常有用的功能。如果您能很好地编写脚本,那么我相信编写编写简单地按需构建硬链接目录的程序并不困难(并将其视为其他系统的“备份”或“可移植性解决方案”)。您也许还可以找到第三方软件来简化所有这些任务,并克服使用硬链接的固有麻烦。


完全是那个选择。(仍可在Windows Server 2012中使用)。请标记为已回答,因为它确实回答了问题。我使用它来“版本化”通过网络共享并由15个用户启动的软件。当我有一个新版本时,我只需更改“第一个”链接以指向该新版本,并且hardLink会尊重所做的更改。硬链接是驻留在我的用户桌面(10-15个用户配置文件)上的最终链接。
西蒙(Simon)

要么它在Windows 10中不起作用,要么我不明白什么是硬链接。我完全按照指示进行操作,并说“为...创建了硬链接”,但是当我右键单击硬链接并查看“属性”时,它仍然指向原始文件,而不是其他链接。我什fc至从命令行运行,它说“没有遇到差异”
Andrew Steitz

2

最简单的解决方法是使用批处理文件。

如果Shortcut.lnk位于中C:\Files\,则.bat使用以下单行代码创建一个新文件将启动该.lnk文件:

"C:\Files\Shortcut.lnk"

是的,我已经知道了这一点(当您搜索时,这是互联网上其他任何地方都提到的“答案”),但它并没有真正回答这个问题……
user541686 2012年

为什么文件的“快捷方式” .lnk也必须是.lnk文件?如果这很重要或有其他要求,请编辑问题以包括这些详细信息。这样您将获得更好的答案。:)
iglvzx 2012年

嗯,是的,因为这是我在问题中提出的问题……如果.bat文件足够,那么微软就不会制作.lnk文件……
user541686 2012年

仅供参考,批处理文件在您右键单击时的行为与快捷方式完全不同(或者,即使您查看它们,它们甚至也不像快捷方式一样)。
user541686

好。我继续编辑了您的问题,以使此要求更加明确。
iglvzx 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.