2009-05-23 2 views

ответ

0

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

+0

Это то, что я сделал сейчас, но проверял, был ли он на случай, если есть какие-то исключения – CiNN

+0

Как насчет того, действительно ли - это IP-адрес, а не имя компьютера? –

+0

IP-адрес не будет содержать косой черты, так что пока вы ищете только косую черту, никаких проблем. – benPearce

1

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

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

Read here for more information

1

Это не проверено, но может быть комбинация PathIsUNC() и PathFindNextComponent() сделал бы трюк.

0

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

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

Смежные вопросы