【タスクスケジューラで】DOS ウインドウを非表示にしてバッチファイル実行できた。の巻【バッチファイルを実行】

今更やけれど、俺は司法試験合格を目指しているわけで。
プログラム言語なんてわからん。


動機は、RAMDISCの保存したいデータを一定時間ごと差分バックアップするのにタスクスケジューラを使えばいいんじゃね?って思いついたのがこのわけわかめな冒険の始まりだった。


Winrarで差分バックアップする方法とかはわかって、そのバッチファイルもできたので、それをタスクスケジューラで実行していけばいいんじゃね?って思ったものの、


定期的に実行されるこのバッチファイルが、いちいちコマンドプロントのウィンドウを表示しやがる。


び、びっくりするじゃないか。


で、作ったバッチファイルをどうやったらタスクスケジューラから実行する際に出るウィンドウを表示しないで、バックグラウンドでこのバッチファイルをスケジュール通り実行できるのか。


こんな単純な内容にも関わらず、さっぱりわからん。


むっちゃググりまくって(5時間ほど)、やっと発見。
Windows XP/Vista/7の裏技
http://nagabuchi.jugem.jp/?eid=217

どうやらバッチファイルの実行をタスクスケジューラで指定しててはダメのようで。
スクリプトを作って、実行すればいいらしい。
「すくりぷと??はぁ?」な俺なわけだけれど、書いてあるとおりにやればできた。

Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c バッチファイルの名前",vbhide

メモ帳を開いてこのコマンドを入力。
バッチファイルの名前は、自分の場合「shutdownタスク.bat」なので、

Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c shutdownタスク.bat",vbhide

で、作ったこのテキストの名前を適当に書いて、拡張子は「.vbs」とする。自分は、「CallBat.vbs」とした。
で、このファイルをタスクスケジューラでプログラムの実行の指定すれば、バッチファイルをバックグラウンドで実行できた。
やったー。いきなり出てきてたウィンドウがなくなった!!!!

注意点

・shutdownタスク.batとCallBat.vbsのファイルは同じフォルダに入れて成功したけれど、違うフォルダにファイルを置いておくと成功するかはわからない。バッチファイルの名前はフルパスで記述すれば確実かも。
・バッチファイルの名前に空白があるとマズイみたい。はじめ「shutdown タスク.bat」としていたら、同じフォルダにある別の「shutdown.bat」が実行された。
・小生は弁護士を目指しているただのおっさん(三十路)のため、プログラムに関する知識はゼロですので、質問は受け付けられません。



これで、RAMDISKの保存用データの自動差分バックアップがバックグラウンドで実行できるようになった。


結果として目標は達成できたけど、プログラムのことはさっぱりわからんわ。

メモ

winrarで、RAMDISCのうち特定のデータの差分バックアップするバッチファイル(タスクスケジューラ用)

@ECHO OFF
SETLOCAL
SET RAMDrive= R
SET BackupFileName="D:\RAMDiskBackup.rar"
SET WinRARDir=C:\Program Files\WinRAR
IF NOT EXIST %RAMDrive%:\ GOTO END
"%WinRARDir%\rar.exe" a -u -as -dh -ep2 -inul -m0 -os -ow -o+ -r -s- -y D:\RAMDiskBackup.rar "R:\DESKTOP" "R:\Program Files" "R:\LOG"
ENDLOCAL

ここでは、RがRAMDISCのボリュームで、そこにあるR:\DESKTOP、R:\Program Files、R:\LOGのフォルダにあるデータを差分バックアップ
・シャットダウン用は、「"%WinRARDir%\rar.exe"」を「"%WinRARDir%\winrar.exe"」にして、バックアップをキャンセルできるようにしてすぐ再起動ができるようにした。
・間違っても、Temporary Internet Filesフォルダはバックアップしない。自分の場合、特にこれをバックアップする必要もないし、これをバックアップするとむちゃくちゃバックアップに時間がかかるのでデメリットの方が大きい。

参考

■Gavotte Ramdisk まとめWIKI
http://www10.atwiki.jp/gavotterd/pages/19.html


「バッチファイル タスクスケジューラから実行 ウィンドウ 非表示」
というキーワードで検索したら一発で見つかった。
やっぱりググる際は、キーワードで仕事のスピードが変わるなとしみじみ感じた。