Windows 中是否有从 UNC 路径检索服务器名称的 api? (\服务器\共享)
还是我需要自己做?
我找到了 PathStripToRoot 但它不起作用。
我不知道用于解析 UNC 路径的 Win32 API;但是您应该检查:
\\computername\share
\\?\UNC\computername\share
(人们用它来访问> 260个字符的长路径)smb://computername/share
和这种情况hostname:/directorypath/resource
这尚未经过测试,但也许 PathIsUNC() 和 PathFindNextComponent() 的组合可以解决问题。
我不知道是否有专门的API,我可能会自己实现简单的字符串处理(跳过“\”或返回null,查找下一个\或字符串末尾并返回该子字符串)首先调用 PathIsUNC()
如果您将以纯文本形式接收数据,您应该能够使用简单的正则表达式来解析它,不确定您使用什么语言,但我倾向于使用 perk 进行这样的快速搜索。假设您有一个包含多行的大文档,每行包含一个路径,您可以在 \ 上搜索 m/\\([0-9][0-9][0-9]\.(重复3次,当然不记得ip地址要求你可能需要修改第一个)然后\)?为了使其可选并包含尾部斜杠,最后是 (.*)\/ig 它很粗糙,但应该可以解决问题,并且路径名应该在 $2 中以供使用!
我希望这足够清楚!
有
PathIsUNCEx()
API,我们可以将指针传递给字符串。当此函数返回 TRUE
时,指向的字符串接收给定 UNC 路径的服务器部分。