VBScriptで外部コマンドを実行する方法・Runメソッド †
WshShellオブジェクトのRunメソッドを使い、VBScriptで外部コマンドを実行する方法といくつかの実行方法のサンプルを以下に記します。
同じような動作するするメソッドとしてExecメソッドがあります。
Execメソッドに関しては「外部コマンドを実行する方法・Execメソッド」を参照してください。
関連記事 †
とりあえずRunメソッドを利用して外部コマンドを起動する †
mkdirコマンドを使用し、実行したカレントディレクトリににsakuraディレクトリを作成してみます。
Dim oWshShell
Set oWshShell = CreateObject("WScript.Shell")
oWshShell.Run "mkdir sakura"
Runで起動したコマンドが終了するまで待つ方法 †
Dim oWshShell
Set oWshShell = CreateObject("WScript.Shell")
oWshShell.Run "notepad", 1, True
WScript.Echo "Bye!"
上記のRunメソッドは以下のような構文になります。
WshShell.Run(起動するコマンド, [ウインドウのスタイル], [起動したコマンドの終了待ちをする・しない])
ウインドウのスタイルは以下の値を指定します。
- Windowsスクリプトテクノロジのヘルプであるscript56.chmから抜粋
ウインドウのスタイル | 内容 |
0 | ウィンドウを非表示にし、別のウィンドウをアクティブにします。 |
1 | ウィンドウをアクティブにして表示します。 ウィンドウが最小化または最大化されている場合は、元のサイズと位置に戻ります。 アプリケーションでウィンドウを最初に表示するときには、このフラグを指定してください。 |
2 | ウィンドウをアクティブにし、最小化ウィンドウとして表示します。 |
3 | ウィンドウをアクティブにし、最大化ウィンドウとして表示します。 |
4 | ウィンドウを最新のサイズと位置で表示します。アクティブなウィンドウは切り替わりません。 |
5 | ウィンドウをアクティブにし、現在のサイズと位置で表示します。 |
6 | 指定したウィンドウを最小化し、Z オーダー上で次に上位となるウィンドウをアクティブにします。 |
7 | ウィンドウを最小化ウィンドウとして表示します。アクティブなウィンドウは切り替わりません。 |
8 | ウィンドウを現在の状態で表示します。アクティブなウィンドウは切り替わりません。 |
9 | ウィンドウをアクティブにして表示します。 ウィンドウが最小化または最大化されている場合は、元のサイズと位置に戻ります。 アプリケーションで最小化ウィンドウを復元するときには、このフラグを指定してください。 |
10 | アプリケーションを起動したプログラムの状態に基づいて、表示状態を設定します。 |
Windowsスクリプトテクノロジのヘルプであるscript56.chmの入手方法は「WSHのヘルプファイルの入手方法」を参照してください。
三番目の引数の「起動したコマンドの終了待ちをする・しない」は、以下の通りです。
- True - コマンドの終了を待つ。
- False - コマンドの終了を待たずスクリプトを実行する。
以上、Runメソッドの説明とサンプルでした。