タスクスケジューラからのバッチ起動が不安定

27 5月, 2013 (16:55) | Windows Server | By: ohishi

Windows2008 Serverのタスクスケジューラでバッチ処理を実行していが、
時間通り実行してくれる時もあるが、突然、全く動作しなくってしまうこともあり少々困っていた。

本番で使っているサーバであるため、いじくりまわすこともできず、手動で実行することで逃げていた。
といいつつ、手動で実行するのもめんどくさくなり、見直してみると...

突然停止するのはBATファイルのみで、VBSは停止していないことに気付いた。

で、BATファイルのタスクでの起動はあきらめて、VBSでバッチ処理を起動する方法に変更してみた。

結果は、今のところ安定して起動しているようで、しばらく様子をみたいと思います。

下記は、VBSからバッチ処理を起動するサンプルです。EXECとRUNメソッドの2種類の方法があるようですが、
参考のページに詳しいことが書かれています。

◆サンプル1
Set objWshShell = WScript.CreateObject("WScript.Shell")
strCmdLine = "C:\test.bat"
objWshShell.Run(strCmdLine)

◆サンプル2
Set objWshShell = WScript.CreateObject("WScript.Shell")
strCmdLine = "C:\test.bat"
set objExec  = objWshShell.Exec(strCmdLine)
Do While objExec.Status = 0
WScript.Sleep(1000)
Loop

◆参考になったページ
Windows管理者のためのWindows Script Host入門

Write a comment