VBScriptでファイルを行単位で読み込むには、TextStreamオブジェクトのReadLineメソッドにより実現することができます。
以下にVBScriptのサンプルコードと実行結果について記します。
以下にTextStreamオブジェクトのReadLineメソッドを利用したVBScriptサンプルコードと実行結果を記します。
1: Set fso = CreateObject("Scripting.FileSystemObject")
2: Const ForReading = 1, ForWriting = 2, ForAppending = 8
3:
4: ' Create sample text file. (readline.txt)
5: Set tso = fso.OpenTextFile("readline.txt", ForWriting, true)
6: tso.WriteLine("TOKYO")
7: tso.WriteLine("CHIBA")
8: tso.WriteLine("KANAGAWA")
9: tso.WriteLine("TOCHIGI")
10: tso.WriteLine("SHIZUOKA")
11: tso.Close
12: Set tso = Nothing
13:
14: ' Read text file.
15: Set tso = fso.OpenTextFile("readline.txt", ForReading)
16: i=0
17: While tso.AtEndOfStream <> true
18: i = i + 1
19: WScript.Echo i & " : " & tso.ReadLine
20: Wend
21: WScript.Echo "TOTAL LINE = " & i
22: tso.Close
23: Set tso = Nothing
24:
25: Set fso = Nothing
上記のサンプルコードは、4行目から12行目までは、TextStreamオブジェクトのReadLineメソッドで読み込むためのテキストファイルを作成しています。
15行目から23行目までは、作成したテキストファイルをTextStreamオブジェクトのReadLineメソッドを利用して読み込み、行番号を先頭に付加しています。
21行目では行数を表示しています。
サンプルコードの実行結果を以下に記します。
行番号が付加されているのが確認でき、最後に行数が表示されています。
typeコマンドを利用し作成したテキストファイルの内容を表示しています。
C:\wsh>cscript /nologo readline.vbs 1 : TOKYO 2 : CHIBA 3 : KANAGAWA 4 : TOCHIGI 5 : SHIZUOKA TOTAL LINE = 5 C:\wsh>type readline.txt TOKYO CHIBA KANAGAWA TOCHIGI SHIZUOKA