2009-05-23 11 views
1

UNCパスからサーバー名を取得するウィンドウにapiがありますか? (\\ server \ share)
自分で作る必要はありますか?
PathStripToRootが見つかりましたが、そのトリックは行いません。UNCパスからサーバー名を取得します。

答えて

0

特定のAPIがあるかどうかわかりませんが、私は自分で単純な文字列処理を実装するだけです(過去の "\\"をスキップするか、nullを返し、次の\または文字列の終わりを検索して戻ります)その部分文字列)PathIsUNC()を最初に呼び出す

+0

これは私が今行ったことですが、いくつかの例外がある場合に備えてチェックしていました – CiNN

+0

が実際にはIPアドレスであり、コンピュータ名ではないのはどうですか? –

+0

スラッシュだけを探している限り、IPアドレスにスラッシュは含まれません。問題はありません。 – benPearce

1

UNCパスを解析するためのWin32 APIは分かりません。

  • \\computername\share
  • \\?\UNC\computername\share
  • あなたはまた、任意この場合は処理することができます(人々は、これは長いパス> 260個の文字にアクセスするために使用)::のために、しかし、あなたは確認する必要がありsmb://computername/shareとこのケースをhostname:/directorypath/resource

Read here for more information

1

これはテストされていませんが、PathIsUNC()とPathFindNextComponent()はそのトリックを行います。

0

データをプレーンテキストで受け取る場合は、単純な正規表現で解析する必要があります。使用する言語は不明ですが、このような高速検索にはperkを使用する傾向があります。 1行につき1つのパスを含む複数の行を含む大きなドキュメントがあるとすると、\ 012 ' 3回、もちろんあなたは最初のものを修正する必要があるかもしれないIPアドレスの要件を思い出さない)\\)?これをオプションにして末尾のスラッシュと最後に(。*)\\/igを含めるにはラフだがトリックを行うべきで、パス名は$ 2にする必要があります!

私はそれが十分明確だったことを願っています!