小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

VBSでの標準入出力

VBSでは、WSHのWScriptオブジェクトを使用することにより標準入出力の処理が可能です。
以下がそのサンプルで、標準入力からデータを受け取って標準出力するフィルタプログラムです。
尚、サンプルでは、フィルタ無しで、標準入力データをそのまま標準出力しています。

Option Explicit

'エラーが発生しても中断しない
On Error Resume Next

Dim objStdIn    '標準入力用オブジェクト
Dim objStdOut   '標準出力用オブジェクト
Dim intExitCode '終了コード

'標準入力用オブジェクトのインスタンス作成
Set objStdIn = Wscript.StdIn

'標準出力用オブジェクトのインスタンス作成
Set objStdOut = Wscript.StdOut

'標準入力を1行ずつ読み込み標準出力へ書き込む

Do While objStdIn.AtEndOfStream = false

  objStdOut.WriteLine  objStdIn.ReadLine

Loop

'インスタンスの破棄
Set objStdIn   = Nothing
Set objStdOut  = Nothing

If Err.Number <> 0 Then
    intExitCode = 1 'エラー
Else
    intExitCode = 0 '正常
End If

'Quitメソッドの引数値は、バッチファイルでerrorlevelになる。
Wscript.Quit(intExitCode)

◆ 使用例

C:\Documents and Settings\xxx>dir * | cscript.exe VBStdInOut_TEST.vbs

VBSソース(VBStdInOut_TEST.vbs)は、あくまでcscript.exeの引数です。