关于NTFS重新分析点(符号链接/目录连接)的路径规范化?
不幸的是,我在Windows上,我需要POSIX realpath
。
假设CMD批处理脚本中有一个dirpath变量:
FOODIR=D:/tmp/foo/bar/quux
其中一个或多个dirpath的中间组件是符号链接 (Microsoft用语中的目录连接 ):
[/cygdrive/d/tmp]$ cmd /C dir /Ad /l ... Directory of D:\tmp ... 2014-12-10 16:44 foo [D:\storage\foo.canonical]
如何编写一个函数,将%FOODIR%
转换为D:/storage/foo.canonical/bar/quux
?
任何解决方案欢迎
GetFinalPathNameByHandle为我工作。
或者使用Powershell 5+,您可以遍历路径并解析每个文件夹。 检查。 .LinkType in ('Junction', 'SymbolicLink')
.Target[0]
并使用.Target[0]
和相对符号链接的可选分辨率。