不幸的是,我在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
的函数?
欢迎任何解决方案。
答案 0 :(得分:0)
或者使用Powershell 5+,您可以遍历路径并解析每个文件夹。检查.LinkType in ('Junction', 'SymbolicLink')
并使用.Target[0]
和相对符号链接的可选解决方案。