タスクスケジューラからのバッチ起動が不安定
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入門