コマンドプロンプトウィンドウを表示せずに.BATファイルを非表示に実行する方法
バッチファイル(.BAT)およびWindows NTコマンドスクリプト(.CMD)ファイルは、ダブルクリックするとコンソールウィンドウで実行されます。 つまり、コマンドプロンプトウィンドウは、.BATまたは.CMDファイルの実行が完了するまで表示されます。
.BATまたは.CMDファイルの実行を邪魔にならないようにするには、最小化して実行するように構成できます。 または、.BATまたは.CMDファイルが実行時にユーザー入力を必要としない場合は、スクリプトを使用して非表示モードで起動できます。
Windowsの組み込みタスクスケジューラは、プログラムを隠しモードで起動できます。 タスクスケジューラのルートを経由しない場合は、この記事で説明するオプションを確認してください。
最小化モードでの.BATまたは.CMDファイルの実行
最小化されたウィンドウ状態でバッチファイルを実行するには、次の手順に従います。
- .BATまたは.CMDファイルへのショートカットを作成します。 これを行うには、ファイルを右クリックし、[ 送信 ]、[ デスクトップ](ショートカットを作成) をクリックします。
- ショートカットを右クリックして、 プロパティを選択します
- 実行:ドロップダウンで、 最小化を選択します
- OKをクリックします
- ショートカットをダブルクリックして、最小化されたウィンドウ状態でバッチファイルを実行します。
スクリプトを使用した非表示(非表示モード)の.BATまたは.CMDファイルの実行
Windows Script HostのRunメソッドを使用すると、プログラムまたはスクリプトを非表示モードで実行できます。 以下は、 syncfiles.bat
という名前のバッチファイルを見えないように起動するWindowsスクリプトコードの例です。
参照:Runメソッド。 intWindowStyleパラメータを0に設定すると、ウィンドウが非表示になります。
C:\Batch Files
ディレクトリにsyncfiles.bat
という名前のファイルがあるとします。 Windowsスクリプトを使用して非表示モードで起動してみましょう。
- 次の行をメモ帳にコピーします。
Set WshShell = CreateObject( "WScript.Shell")WshShell.Run chr(34)& "C:\ Batch Files \ syncfiles.bat"&Chr(34)、0 Set WshShell = Nothing
注:必要に応じて、スクリプト内のバッチファイル名/パスを適宜置き換えてください。
- ファイルを.VBS拡張子で保存します。たとえば、
launch_bat.vbs
と言いlaunch_bat.vbs
- .BATファイルの名前とパスを適宜編集し、ファイルを保存します。
- ダブルクリックしてlaunch_bat.vbsファイルを実行します。これにより、バッチファイル
syncfiles.bat
見えなくなります。
関連: バッチファイルを自動的に昇格して管理者として実行する方法 -および-VBScriptsとUACの昇格(管理者として実行)
NirCmdを使用した非表示(非表示モード)の.BATまたは.CMDファイルの実行
NirCmdは、サードパーティベンダーのNirsoftが提供する多目的コマンドライン自動化ユーティリティです。 私たちのサイトでは、過去にNirCmdを何度も取り上げました。
NirCmdを使用して、プログラム、スクリプト、またはバッチファイルを非表示モードで実行できます。
NirCmdをダウンロードして、Windowsディレクトリにファイルを抽出します。
[実行]ダイアログまたはコマンドプロンプトから、次の構文を使用して、バッチファイルまたはプログラムを非表示モードで起動します。
$config[ads_text6] not foundnircmd exec hide [バッチファイルへのパス]
例:
nircmd exec hide "c:\ batch files \ syncfiles.bat"
(管理者として)昇格したバッチファイルを実行する必要がある場合は、代わりに次のコマンドを使用します。
nircmd elevatecmd exec非表示c:\ batch files \ syncfiles.bat
(NirCmdコマンドリファレンス– exec)
それでおしまい! 非表示モードでバッチまたはCMDファイルを実行する他の方法をご存知の場合は、お知らせください。