【VBScript】Windowsコマンドの実行と実行結果の取得


この記事はプロモーションを含みます。

VBScript

ホーム > VBScript 逆引きリファレンス

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のコマンドを実行する方法は、以下で解説しています。

コメント

タイトルとURLをコピーしました