如何移动 Windows 快捷方式指向的目标并允许现有的快捷方式工作?

如何移动 Windows 快捷方式指向的目标并允许现有的快捷方式工作?

我想做以下事情:

  1. 创建文件夹的快捷方式(例如链接器-->目录:\tmp
    • 这将通过电子邮件发送给用户
  2. 移动和/或重命名文件夹(目录:\tmp-->目录:\tmp2
  3. 设置中间步骤以使上一个快捷方式起作用
    • 基本上,通过电子邮件发送的 mLink.lnk 快捷方式将会打开目录:\tmp2

看来你应该能够使用 mklink 并在前一个文件夹位置设置符号链接(目录:\tmp) 然后指向新位置。基本上有以下设置:

mLink.lnk --> c:\tmp --> c:\tmp2

不幸的是,我无法在希望拥有这些快捷方式的网络共享上创建符号链接。The device does not support symbolic links运行 mklink 时出现错误。

还有其他方法吗?还是对符号链接的限制基本上阻止了我这样做?

答案1

好的……首先:Windows .lnk 文件原则上只是一个带有文件夹名称的简单字符串。因此,本质上你只是向他们发送一些字符串,这些字符串会自动复制到他们的资源管理器的地址栏中并打开(实际工作有点复杂,但对于像 C:\tmp 这样的链接,情况就是这样的)

其次 - Windows 通常不跟踪这些文件,因为它们不是符号链接。如果您在 PC 上创建一个符号链接,其中 C:\tmp 指向文件夹 C:\tmp2,这不会更改 LNK 文件的内容。因此,您每封邮件发送的文件与以前完全相同。人们会在自己的系统上单击链接,当然 LNK 仍显示“C:\tmp”,并且他们的系统上没有任何变化。

如果 LNK 指向网络共享(例如,将免费的网络字母 P:\ 连接到 samba 共享 \server1\tmp),它可以工作,并链接到此连接的驱动器 - 因此 LNK 指向 P:\ 然后,如果您想在服务器上使用另一个临时文件夹,只需更改服务器上的共享文件夹,所有人都会自动使用新文件夹...

答案2

更简单的方法是先在服务器上创建c:\tmp指向 的符号链接。然后通过删除并重新创建指向 的链接,即可将其更改为 tmp2 。c:\tmp1c:\tmpc:\tmp2

这样,您将只有一个链接,该链接对于用户来说永远不会改变,但您可以随时在服务器上更改它。

如果这不起作用,那么您的网络共享客户端不支持符号链接扩展。

相关内容