根相对符号链接不能正确parsing(Windows)

根据有关创build符号链接的MSDN文档 ,根相对符号链接(以“\”开头) 相对于从其访问符号链接的驱动器parsing。 我在Windows服务器上有一堆这样的根相关符号链接,并且能够从服务器和Windows 7客户端(至less一旦使用fsutil启用了R2R SymlinkEvaluation )就可以很好地访问它们。 也就是说,该文件是一个.mp4,符号链接在Windows Media Player中打开。

但是,当popup“ 属性”窗口(上下文菜单> 属性 )时, 目标的值被错误地解释,parsing到当前目录的path,而不是当前驱动器 。 由于这个原因,不可能检查属性窗口的其他选项卡(打开时select“ 快捷方式”选项卡),响应任何尝试select具有警告popup窗口的不同选项卡:

“快捷方式的问题:目标框中指定的名称[某些不正确的path]无效,请确保path和文件名称正确。

我在Windows 7和Windows Server 2008 R2上都得到了这种行为。

有没有人遇到这个问题? 可能有Windows中的设置,我需要configuration(超出fsutil调整)来解决这个问题? 或者,这(吞)…一个错误?

我也注意到某些程序窒息了这些符号链接,而其他的则没有问题。 例如,Quicktime一贯失败,而VLC是一个冠军。 更奇怪的是,有些程序只能在特定的文件types上窒息(索尼拉斯维加斯没有符号链接的.mp4的问题,但一贯失败的.dv文件)。 这对其他人来说很奇怪吗?

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

注意:我testing的所有链接都是使用kernel32.dll中的CreateSymbolicLink方法创build的。 从我的testing中,似乎mklink和PSCX的New- Symlink cmdlet都不能生成有效的根相对符号链接(它们都将链接指定为目标之前尝试将链接parsing为绝对链接)。

更新

对于它的价值,我用来创build链接的工具现在已经发布在GitHub上: PSLinkTools 。 安装PowerShell SnapIn后,以下命令将创build根相对符号链接:

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

目标将指向C驱动器的根目录。