关于NTFS重新分析点(符号链接/目录连接)的路径规范化?

时间:2014-12-10 14:58:00

标签: c# powershell cmd

不幸的是,我在Windows上,我需要POSIX realpath

假设CMD批处理脚本中有一个dirpath变量:

FOODIR=D:/tmp/foo/bar/quux

其中dirpath的一个或多个中间组件为symlinks(Microsoft术语中的目录连接):

[/cygdrive/d/tmp]$ cmd /C dir /Ad /l
 ...
 Directory of D:\tmp
...
2014-12-10  16:44    <SYMLINKD>     foo [D:\storage\foo.canonical]

如何编写将%FOODIR%转换为D:/storage/foo.canonical/bar/quux的函数?

欢迎任何解决方案。

1 个答案:

答案 0 :(得分:0)

GetFinalPathNameByHandle为我工作。

或者使用Powershell 5+,您可以遍历路径并解析每个文件夹。检查.LinkType in ('Junction', 'SymbolicLink')并使用.Target[0]和相对符号链接的可选解决方案。