メイン画像

VBScript - WScript オブジェクトでできること

VBScript - WScript オブジェクトでできること


WScript オブジェクトでできることを説明します。

WScript オブジェクトを使うと、以下のようなことができます。

  • WSH実行ファイル(cscript.exe/wscript.exe)の情報取得
  • スクリプトの情報取得
  • スクリプトの実行制御

WScript オブジェクトは、WSH 固有の機能です。
起動時に自動でインスタンス化されます。
よって、自分で CreateObject する必要はありません。

WSHの名前の取得

WScript.Name プロパティで WSH の名前を取得できます。

用途不明。

WScript.Echo WScript.Name
' → Windows Script Host

WSHの実行ファイルのフォルダパスの取得

WScript.Path プロパティで WSH の実行ファイルがあるフォルダのパスを取得できます。

WScript.Echo WScript.Path
' → C:\WINDOWS\system32

WSHの実行ファイルパスの取得

WScript.FullName プロパティで WSH の実行ファイルのパスを取得できます。

cscript.exe で実行した場合

WScript.Echo WScript.FullName
' → C:\WINDOWS\system32\cscript.exe

wscript.exe で実行した場合

wscript.exe で実行した場合の WScript.FullName プロパティの内容

WSHのバージョンの取得

WScript.Version プロパティで WSH のバージョンを取得できます。

WScript.Echo WScript.Version
' → 5.812

スクリプトのファイル名の取得

WScript.ScriptName プロパティでスクリプトのファイル名を取得できます。

WScript.Echo WScript.ScriptName
' → wscript-object.vbs

スクリプトのフルパスの取得

WScript.ScriptFullName プロパティでスクリプトファイルのフルパスを取得できます。

WScript.Echo WScript.ScriptFullName
' → C:\vbs\wscript-object.vbs

実行モードの取得

WScript.Interactive プロパティでスクリプトの実行モードを取得できます。

対話モードなら True 、バッチモードなら False が返ります。

WScript.Echo WScript.Interactive
' → 1    (=対話モードを表す)

実行モードはオプションで指定できます。

対話モード: オプション省略、または //I 指定

バッチモード: //B 指定

対話モード
cscript.exe test.vbs //I

バッチモード
cscript.exe test.vbs //B

タイムアウト時間の取得

WScript.TimeOut プロパティでタイムアウト時間(スクリプトを実行できる最大の時間)(秒)を取得できます。

WScript.Echo WScript.TimeOut
' → 0

タイムアウト時間は //T:nn オプションで指定できます。

nn の部分に時間を指定します。

0 指定で無制限になります。省略時の既定値は 0 です。

例)1秒でタイムアウトにする場合

cscript.exe test.vbs //T:1

スクリプトがタイムアウトすると、次のように表示されます。

スクリプト "test.vbs" の実行時間が制限時間を超えました。
スクリプトの実行は中止されました。

スクリプトの終了

WScript.Quit メソッドでスクリプトを終了できます。

プロシージャ内で実行した場合も呼び出し元に戻るのではなく、スクリプト自体が終了します。

WScript.Quit 〈exitCode〉

exitCode に終了コードを指定します。

省略時は正常終了(0)になります。

32ビット整数(-2147483648 ~ 2147483647)を指定できます。

範囲を超える値を指定すると、実行時エラーが起きます。
→ オーバーフローしました。: ‘WScript.Quit’

スクリプトの中断

WScript.Sleep メソッドでスクリプトを中断できます。

WScript.Sleep 〈millisecondsTimeout〉

millisecondsTimeout に待機する時間をミリ秒で指定します。


アカウントを作成 して、もっと沢山の記事を読みませんか?


この記事が気に入ったら ことりと さんを応援しませんか?
メッセージを添えてチップを送ることができます。


この記事にコメントをしてみませんか?


酒とアクアリウムが最近の楽しみ。

おすすめの記事