Получить имя сервера из пути UNC - PullRequest
1 голос
/ 23 мая 2009

Есть ли в Windows API, который получает имя сервера из UNC-пути? (\\ сервер \ доля)
Или мне нужно сделать свое?
Я нашел PathStripToRoot, но он не работает.

Ответы [ 4 ]

1 голос
/ 10 июня 2009

Я не знаю Win32 API для разбора пути UNC; однако вы должны проверить:

  • \\computername\share
  • \\?\UNC\computername\share (люди используют это для доступа к длинным путям> 260 символов)
  • При желании вы также можете обработать этот случай: smb://computername/share и этот случай hostname:/directorypath/resource

Подробнее читайте здесь

1 голос
/ 10 июня 2009

Это не проверено, но, возможно, комбинация PathIsUNC () и PathFindNextComponent () поможет.

0 голосов
/ 01 января 2010

Если вы будете получать данные в виде простого текста, вы сможете проанализировать их с помощью простого регулярного выражения, не уверенного в том, какой язык вы используете, но я склонен использовать perk для быстрого поиска, подобного этому. Предположим, у вас есть большой документ, содержащий несколько строк, содержащий один путь на строку, который вы можете искать в I.e m / \\\\ ([0-9] [0-9] [0-9] \. (повторите 3 раза, разумеется, не обращаясь к требованиям к IP-адресу, вам может понадобиться изменить первый)), затем \\ )? Чтобы сделать его необязательным и включить косую черту, и, наконец, (. *) \\ / ig, это грубо, но должно быть сделано, и путь должен быть в $ 2 для использования!

Надеюсь, это было достаточно ясно!

0 голосов
/ 24 мая 2009

Я не знаю, существует ли для этого какой-либо конкретный API, я бы просто реализовал простую обработку строк самостоятельно (пропустив "\\" или вернув null, поищи следующий \ или конец строки и верни это подстрока) возможно, вызывая PathIsUNC () сначала

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...