如果我有一个解析为Windows中的文件路径的字符串,是否有一种可接受的方式来获取文件名的规范形式?
例如,我想知道是否
C:\stuff\things\etc\misc\whatever.txt
Run Code Online (Sandbox Code Playgroud)
和
C:\stuff\things\etc\misc\other\..\whatever.txt
Run Code Online (Sandbox Code Playgroud)
实际上指向同一个文件,并在我的应用程序中存储路径的规范形式.
请注意,简单的字符串比较不起作用,也不会有任何RegEx魔法.请记住,自Windows 2000以及Windows 7中的新库结构以来,我们需要处理NTFS重分析点等事务.
简短回答:不是真的.
没有简单的方法可以在Windows上获取文件的规范名称.可以通过重新分析点通过SUBST获得本地文件.你想处理NTFS交叉点吗?Windows快捷方式?怎么样 - \\?\-cacaped文件名
远程文件可通过映射的驱动器号或UNC获得.这是UNC到原始服务器吗?你在使用DFS吗?服务器是否使用重新分析点等?服务器是否有多个名称?IP地址怎么样?它有多个IP地址吗?
所以,如果你正在寻找像Windows上的inode号这样的东西,它就不存在了.例如,请参阅此页面.
| 归档时间: |
|
| 查看次数: |
4386 次 |
| 最近记录: |