【VBScript】Windowsのコマンドを実行する


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

VBScript

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

VBScriptで、Windows(コマンドプロンプト)のコマンドを直接実行する方法を解説します。

ソースコード

サンプルとして、空フォルダを作成するコマンドを実行してみたいと思います。
今回は、「C:\workspace\VBScript\work」配下に「テストフォルダ」という名前のフォルダを作成します。

Option Explicit

' Windowsのコマンド
Const cmd = "mkdir C:\workspace\VBScript\work\テストフォルダ"

' WSHオブジェクトの作成
Dim objShell
Set objShell = CreateObject("WScript.Shell")

' Windowsコマンドの実行
objShell.Run "cmd /c " & cmd, 0

' WSHオブジェクトの破棄
Set objShell = Nothing

上記で使用している「WSH(WshShell)オブジェクト」の使い方や、引数については、以下を参考にして下さい。

実行結果

サンプルソースコードの実行結果になります。
下記のように「テストフォルダ」が作成され、コマンドが正常に終了したことが分かります。

戻り値を取得する

実行したコマンドの戻り値を取得するサンプルになります。

Option Explicit

' Windowsのコマンド
Const cmd = "mkdir C:\workspace\VBScript\work\テストフォルダ"

' 戻り値を格納する変数
Dim rc
rc = 0

' WSHオブジェクトの作成
Dim objShell
Set objShell = CreateObject("WScript.Shell")

' Windowsコマンドの実行
rc = objShell.Run("cmd /c " & cmd, 0, True)

' 戻り値の表示
WScript.Echo "戻り値:" & rc

' WSHオブジェクトの破棄
Set objShell = Nothing

戻り値の取得ですが、Runメソッドの記述によって、値が変わってしまいます。
下記で詳しく説明しているので、そちらをご覧ください。

記事は以上です。VBScriptでフォルダ作成など、ファイル操作の有名な方法として、ファイルシステムオブジェクトを使用する方法がありますが、ソースコードが少し長くなってしまいます。
場合によっては、Windowsのコマンドを使用する方が、ソースコードも短くなり良さげかもしれません。

PowerShellのコマンドを実行する

PowerShellのコマンドを実行する方法は、以下で解説しています。

コメント

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