バッチ実行でコマンドプロンプトを表示させない設定方法
バッチを定期実行させる場合などに、PC画面に急にコマンドプロンプトが表示されるのを防止できます。
「コマンドプロンプトで確認する必要がない内容である」「実行履歴は別のファイルとして残す」場合にコマンドプロンプトは邪魔になるのでバッチ処理で表示させないようにしたいと思いました。
この記事で出来ること
- コマンドプロンプトを表示させずにバッチ処理を実行可能
- タスクスケジューラでも上記仕様が可能
環境
windows 10
実行させるバッチファイル名:undisplay.bat
実行させるファイルは適宜自分のファイルに置き換えて、以下設定をしてください。
vbsファイルを作成する
vbsファイルを作成します。
vbsファイル名は、わかりやすいようにバッチファイルと同じ(undisplay)にしました。
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c ファイル名.bat", vbhide
注意点として、上記設定内容はvbsファイルを、バッチファイルと同じディレクトリの階層に置いた場合の設定になります。
もし、他の場所にvbsファイルを配置する際は2行目の「ファイル名.bat」部分を、絶対パスに変更してください。
絶対パスの例:C:\Users\test\desktop\undisplay.bat
タスクスケジューラの設定
タスクスケジューラの基本的な設定方法は説明しません。
既にundisplay.batのタスクスケジューラ設定済みを想定しています。
vsbファイルを設定することにより、コマンドプロンプトを表示させずにバッチ処理が可能になります。
まとめ
バッチファイルをコマンドプロンプトを表示させずに実行させる方法
- vbsファイルを作成する
- vbsファイル → バッチファイル という流れで実行させる
- タスクスケジューラの実行ファイルをvbsファイルに変更する