有没有办法指定例如 \\?\Volume{f993747a-5d7a-4de1-a97a-c20c1af1ba02}\path\to\target.txt 作为符号链接的目标?或者绝对路径是否始终需要驱动器号?
答案1
NTFS 符号链接可以有卷 GUID 目标吗?
您可以使用链接创建以下形式的符号链接\\?\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>
笔记
- 这仅当您尝试从命令提示符取消引用链接时才有效,但当您尝试从资源管理器界面访问它时则无效。
进一步阅读
- Windows CMD 命令行的 AZ 索引- 与 Windows cmd 行相关的所有事物的绝佳参考。
- 链接- 创建到目录或文件的符号链接,或者创建硬文件链接或目录连接。
答案2
10,000's
在广泛使用跨驱动器硬链接多年后,我只注意到一个问题。这个问题有多严重取决于您的具体情况。请注意,我的应用程序linkd.exe
仅使用硬链接(使用 创建的“目录连接”),因此以下内容可能适用于也可能不适用于其他类型的符号链接。
我唯一遇到的问题是校验在极少数情况下表现不佳。如果chkdsk.exe
在启动时自动运行以响应先前关闭的驱动器并带有待处理的脏标志,则在某些情况下它似乎会删除所有跨驱动器连接。除了删除连接之外,该chkdsk.exe
错误不会破坏任何东西。
解决该问题有多种解决方法和策略chkdsk.exe
,超出了原始问题的范围,因此可以说它是有效的......但我遇到的一个警告已被提及。