- ベストアンサー
VBSにてDNSサーバなどアドレス抽出
- VBSを使用して、テキストファイルからDNSやWINSサーバのアドレスを抽出する方法について教えてください。
- DNSやWINSのブライマリは一行で抽出されますが、セカンダリが複数行存在する場合、どのように抽出すればいいでしょうか。
- 存在しない場合や一行存在する場合でも、すべてのセカンダリを抽出する方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ファイルを作る人の、ファイル設計がまずいと思いますがね。 そのファイルの中のデータレコードには DNS WINS の二種類しか、(中身的に)ないなら、 DNSは識別文字で識別する。 プライマリは識別文字列がレコードに含まれているのか。はっきりしない。 在ればそれで識別する。無ければDNSが無ければWINSの情報と看做す。 セカンダリはWINS出現した(と判定した)ときフラグを立てて、そのフラグがONの間はWINSと看做す。 次にDSNが出現したら、フラグをONにする。 結局DNSで無ければWINSとする。プライマリ、セカンダリは順番を数える変数で対処する。 ーー 全く当てづっぽうのロジックなのだが、これでは(何処が)ダメか、書いて見て。 そしてレコードの模擬実例数例も(例も書かないで質問しても正確に伝わらないことを知っておいて)
その他の回答 (1)
- Lchan0211b
- ベストアンサー率61% (573/930)
そのテキストファイルのフォーマット仕様を説明しないと 誰も回答できないと思います。 (セカンダリDNSには「DNSセカンダリ」という文字がある ようだが、ではプライマリDNSには「DNSプライマリ」という 文字があるのか? WINSの方はどうなっているのか?等々) それと、どのように抽出しようとしているのかも さっぱりわかりません。 (プライマリだけ抽出したいのか?セカンダリも含めて 抽出したいのか?セカンダリも含めて抽出したいなら、 全て読み込むのとどう違うのか?違うなら、どのような 形で抽出したいのか?) これらを補足して、現在のソースコードを示せば 誰かがアドバイスくれると思います。
お礼
テキストファイルはIPアドレスやDNSサーバやデフォルトゲートウェイなど ipconfig/allでとれるものが入力されています。 様々なパソコンから取得しているので、データはばらばらです。 ある項目はDNSだとプライマリDNS、セカンダリDNSです。 抽出は一行ずつreadlineで読み込ませて、 IF文で文字検索させています。 抽出したいのはテキストファイルにあるプライマリ、セカンダリすべてです。 ない場合はCSV形式にしたいので、カンマです。
お礼
皆様ありがとうございます。解決いたしました。