Visual Studioを使わずにVBSをデバッグする方法
個人的にはあまり好きじゃないですが、やむなくWindows Serverでサーバ環境を構築する場合、いろんなスクリプトを作らざるを得なくなるのが常というものですが、最大の難点はデバッグがしづらい!という事だと思います。
Visual Studioとか使えばデバッグ出来るんですが、もう少しシンプルなツールだけでデバッグする方法についてまとめてみました。
まずは、テスト用にVBSスクリプト LoopScript.vbsを作成。5秒おきにテキストに1行ログを書いていくだけのシンプルなスクリプトです。
Dim objFso Dim file Dim loopCount Wscript.Echo("ループ処理の開始") Set objFso = CreateObject("Scripting.FileSystemObject") Set file = objFso.OpenTextFile("LoopScriptLog.log", 8, True) loopCount = 0 Do Until loopCount = 120 file.Writeline(now & " : " & loopCount) Wscript.Echo(now & " : ループ" & loopCount & "回目") WScript.Sleep(5000) loopCount = loopCount + 1 Stop Loop Wscript.Echo("ループ処理の終了") file.Close() Wscript.Echo("ファイルのクローズ")
(1) Windows Script Debuggerのインストール
上記のスクリプトをステップ実行する場合や実行中の変数の中身を見たい場合は、Windows Script Debugger が必要になります。まずはMicrosoft公式からダウンロード。
Windows Script Debugger
http://www.microsoft.com/ja-jp/download/details.aspx?id=23992
scd10jp.exeをダウンロードして、「管理者権限で」実行します。
インストールが完了したら再起動を要求されるので、再起動しましょう。
(2) Windows Script Debuggerの起動
インストールが終了していれば、「C:\Program Files\Microsoft Script Debugger」(デフォルトの場合)に「msscrdbg.exe」という実行ファイルが出来ているはずなので、起動しましょう。
(3) VBSスクリプトの実行
VBSを起動する際に、以下のようにオプションを付けて起動します。
C:\Users\Administrator>wscript C:\Users\Administrator\Desktop\LoopScript.vbs //x
すると、Microsoft Script Debugger側の「実行中のドキュメント」に「Windows Script Host」⇒「LoopScript.vbs」が出て来ますので、ダブルクリックすると以下のようにスクリプト内容が表示された状態になります。
EclipseやVisual Studioのように、ブレークポイントを指定してステップ実行、みたいな事が出来ます。