我可以创建一个指向特定驱动器的快捷方式,而不管其驱动器号是什么吗?

我可以创建一个指向特定驱动器的快捷方式,而不管其驱动器号是什么吗?

我注意到我无法使用\\?\Volume{f993747a-5d7a-4de1-a97a-c20c1af1ba02}\path\to\target\Device\HarddiskVolume5\path\to\target作为快捷方式目标——它不起作用。只有当我在绝对路径中使用驱动器号时它才有效。我不想使用驱动器号或相对路径。

我可以指定一个快捷方式的目标,使其在驱动器号更改时不会中断吗?或者,我可以创建一个 NTFS 重新解析点(例如连接点)来执行此操作吗?

答案1

我可以创建一个指向特定驱动器的快捷方式,而不管其驱动器号是什么吗?

我不想使用驱动器号或相对路径

您希望使用的目标类型(\?\Volume{f993747a-5d7a-4de1-a97a-c20c1af1ba02}\path\to\target\Device\HarddiskVolume5\path\to\target)不是快捷方式的有效目标。

所有有效的快捷方式目标都必须使用下面指定的类型之一。


快捷方式首选项允许您配置文件系统对象(如文件、文件夹、驱动器、共享或计算机)、shell 对象(如打印机、桌面项目或控制面板项目)或 URL(如网页或 FTP 站点)的快捷方式。

来源配置快捷方式项


或者,我可以创建一个 NTFS 重新解析点(例如连接点)来执行此操作吗?

您可以使用链接创建以下形式的符号链接\\?\Volume{f993747a-5d7a-4de1-a97a-c20c1af1ba02}\path\to\target.txt

c:
md \test
cd \test
mklink testlink \\?\Volume{d1a54614-9369-11e4-b7ab-ccaf78b24c0a}\test\test.txt

现在目录测试包含一个符号链接(在我的情况下指向f:\test\test.txt外部驱动器上的文件)。

C:\test>dir
 Volume in drive C has no label.
 Volume Serial Number is C8D0-DF1E

 Directory of C:\test

29/03/2015  23:24    <DIR>          .
29/03/2015  23:24    <DIR>          ..
29/03/2015  23:17    <SYMLINK>      testlink [\\?\Volume{d1a54614-9369-11e4-b7ab-ccaf78b24c0a}\test\test.txt]
               1 File(s)              0 bytes
               2 Dir(s)  248,410,976,256 bytes free

...

C:\test>type testlink
this file is test.txt
C:\test>

...

C:\test>type f:\test\test.txt
this file is test.txt
C:\test>

笔记

  • 这仅当您尝试从命令提示符取消引用链接时才有效,但当您尝试从资源管理器界面访问它时则无效。

进一步阅读

答案2

这有点像黑客行为并且可能不安全,但您应该能够使用floatdrive适当的共享权限在感兴趣的驱动器的根文件夹(例如,共享名)上设置共享,然后使用网络 URL 语法构建所有快捷方式/链接localhost

\\localhost\floatdrive\folder\or\file\of\interest.txt

只要 Windows 正确安装驱动器,共享名称可能就会跟随驱动器,无论驱动器分配了什么驱动器号。但不幸的是,我目前手头没有适合测试这一点的系统。

相关内容