根相关符号链接无法正确解析(Windows)

根相关符号链接无法正确解析(Windows)

根据有关创建符号链接的 MSDN 文档、根相对符号链接(以“\”开头的符号链接)应该相对于访问符号链接的驱动器进行解析。我在 Windows Server 上有很多这样的根相对符号链接,并且能够从服务器内部和 Windows 7 客户端正常访问它们(至少,一旦使用 fsutil 启用了 R2R SymlinkEvaluation)。也就是说,假设文件是​​ .mp4,则符号链接可以在 Windows Media Player 中正常打开。

然而,当一个人拉起特性窗口(上下文菜单 >特性)的值目标被错误地解释,解析到当前目录而不是当前的驾驶。因此,无法检查特性窗口(打开时捷径选项卡选定后,如果尝试选择其他选项卡,则会弹出警告窗口:

“快捷方式问题:目标框中指定的名称 [某些错误路径] 无效。请确保路径和文件名正确。”

我在 Windows 7 和 Windows Server 2008 r2 中都遇到了这种情况。

有其他人遇到过这个问题吗?我是否需要配置 Windows 中的某些设置(除了 fsutil 调整之外)来修复此问题?或者,这是(gulp)... 一个错误?

我还注意到程式这些符号链接会阻塞,而其他程序则没问题。例如,Quicktime 总是失败,而 VLC 却表现优异。更奇怪的是,有些程序只在特定文件类型上阻塞(Sony Vegas 对符号链接的 .mp4 没有问题,但对 .dv 文件总是失败)。其他人对此感到奇怪吗?

对于 Windows 自 Vista 以来一直宣称支持的文件系统技术来说,这一切似乎都是相当不成熟的行为。

笔记:我测试过的所有链接都是使用创建符号链接方法内核32库。从我的测试来看,似乎链接,也不是 PSCX 的新符号链接cmdlet 能够生成有效的根亲属符号链接(它们都尝试在将链接指定为目标之前将其解析为绝对链接)。

更新

无论如何,我用来创建链接的工具现在已发布在 GitHub 上:PSLink工具安装 PowerShell SnapIn 后,以下命令将创建根相对符号链接:

New-Symlink -LiteralPath 'C:\Users\Kurt\Desktop\NE.pdf' -Target '\Users\Kurt\Books\Leibniz\New Essays on Human Understanding.pdf'

其中目标将指向根目录,在本例中为 C 盘。

相关内容