私はゾーン転送の結果を含むテキストファイルを持っています&各行を読む必要があります&サーバ名のリストを出力する配列にそれを分割します& IPアドレス。しかし、私は空白区切り記号での私の試みが私が望むことをしているように見えないので、データを分割するいくつかの問題があります。テキストファイルの内容をデリミタの正規表現で分割しますか?
サンプル入力:
machine1.fqdn.com. 86400 IN A 192.168.1.10
machine2.fqdn.com. 86400 IN A 192.168.1.11
machine3.fqdn.com. 86400 IN A 192.168.1.12
machine4.fqdn.com. 86400 IN A 192.168.1.13
スクリプト:
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("I:\testHarvestIF.txt", ForReading)
Const ForReading = 1
Do Until objFile.AtEndOfStream
strNextLine = objFile.Readline
arrServiceList = Split(strNextLine," ",-1,1)
Wscript.Echo "Server name: " & arrServiceList(0) & vbCrLF & _
" - IP Address: " & arrServiceList(2)
Loop
objFile.Close
電流出力:
Server name: machine1.fqdn.com.
IP Address: IN A 192.168.1.10
Server name: machine2.fqdn.com.
IP Address: IN A 192.168.1.11
Server name: machine3.fqdn.com.
IP Address: IN A 192.168.1.12
Server name: machine4.fqdn.com.
IP Address: IN A 192.168.1.13
所望の出力:
Server name: machine1.fqdn.com.
IP Address: 192.168.1.10
Server name: machine2.fqdn.com.
IP Address: 192.168.1.11
Server name: machine3.fqdn.com.
IP Address: 192.168.1.12
Server name: machine4.fqdn.com.
IP Address: 192.168.1.13
区切り記号として任意の長さの空白を使用するために通常の表現を使用できる方法はありますか?例えば。
arrServiceList = Split(strNextLine,"^\s+",-1,1)
ありがとうございました。
よろしく、
RB
私の前回の回答は申し訳ありません。私はそれを調べ、vbscriptはMatchオブジェクトからキャプチャグループを抽出することをサポートしていないことが判明しました。 (<私を-verify) – Untitled
設定objFSO =のCreateObject( "Scripting.FileSystemObjectオブジェクト") 設定のobjfile = objFSO.OpenTextFile( "I:\ test.txtの"、ForReading) のConst ForReading = 1 機能splitRE(strSource、パターン)のCreateObject( "vbscript.regexp") .GLOBAL = Trueの .Pattern =パターン splitRE =スプリット(.Replace(strSource、 " ")、"") はobjfileのまでいます エンド機能付き ENDで 。 AtEndOfStream strNextLine = objFile.Readline arrServiceList = splitRE(strNextLine、 "\ s +") Wscript.Echo "サーバー名:"&arrServiceLis t(0)& " - IPアドレス:"&arrServiceList(4) ループ objFile.Close – Pr0m3th3us