VBScriptで、Windows(コマンドプロンプト)のコマンドを実行し、その実行結果を取得する方法を解説します。
はじめに
本記事では、VBScriptで、Windowsのコマンドを実行し、その実行結果(標準出力や標準エラー)を取得する方法を説明します。
コマンドの実行と、その戻り値を取得する方法は以下で解説しています。
ソースコード
サンプルのソースコードです。
dirコマンドで指定したフォルダ配下の一覧を取得し、その結果をコンソールに返す処理を実行しています。
また、取得した結果の行数を確認するため、各行の先頭に何行目かを追記しています。
Option Explicit
' Windowsのコマンド
Const cmd = "dir /b C:\workspace\VBScript\sample"
' WSH関連オブジェクトの作成
Dim objShell, objExec, objStdOut, objStdErr
' 実行結果の行数
Dim lineNum
' WSHオブジェクトの作成
Set objShell = CreateObject("WScript.Shell")
' Windowsコマンドの実行
Set objExec = objShell.Exec("cmd /c " & cmd)
Set objStdOut = objExec.StdOut
Set objStdErr = objExec.StdErr
' 実行結果の確認
Do Until objStdOut.AtEndOfStream
lineNum = lineNum + 1
WScript.Echo lineNum & "行目:" & objStdOut.ReadLine
Loop
' WSH関連オブジェクトの破棄
Set objStdErr = Nothing
Set objStdOut = Nothing
Set objExec = Nothing
Set objShell = Nothing
実行結果
サンプルの実行結果です。
1行目:file1.txt 2行目:file2.txt 3行目:Folder1 4行目:Folder2
リンク
PowerShellのコマンドを実行する
PowerShellのコマンドを実行する方法は、以下で解説しています。
リンク
コメント