コマンドプロンプトウィンドウを表示せずに.BATファイルを非表示に実行する方法

バッチファイル(.BAT)およびWindows NTコマンドスクリプト(.CMD)ファイルは、ダブルクリックするとコンソールウィンドウで実行されます。 つまり、コマンドプロンプトウィンドウは、.BATまたは.CMDファイルの実行が完了するまで表示されます。

.BATまたは.CMDファイルの実行を邪魔にならないようにするには、最小化して実行するように構成できます。 または、.BATまたは.CMDファイルが実行時にユーザー入力を必要としない場合は、スクリプトを使用して非表示モードで起動できます。

Windowsの組み込みタスクスケジューラは、プログラムを隠しモードで起動できます。 タスクスケジューラのルートを経由しない場合は、この記事で説明するオプションを確認してください。

最小化モードでの.BATまたは.CMDファイルの実行

最小化されたウィンドウ状態でバッチファイルを実行するには、次の手順に従います。

  1. .BATまたは.CMDファイルへのショートカットを作成します。 これを行うには、ファイルを右クリックし、[ 送信 ]、[ デスクトップ](ショートカットを作成) クリックします。
  2. ショートカットを右クリックして、 プロパティを選択します
  3. 実行:ドロップダウンで、 最小化を選択します
  4. OKをクリックします
  5. ショートカットをダブルクリックして、最小化されたウィンドウ状態でバッチファイルを実行します。

スクリプトを使用した非表示(非表示モード)の.BATまたは.CMDファイルの実行

Windows Script HostのRunメソッドを使用すると、プログラムまたはスクリプトを非表示モードで実行できます。 以下は、 syncfiles.batという名前のバッチファイルを見えないように起動するWindowsスクリプトコードの例です。

参照:Runメソッド。 intWindowStyleパラメータを0に設定すると、ウィンドウが非表示になります。

C:\Batch Filesディレクトリにsyncfiles.batという名前のファイルがあるとします。 Windowsスクリプトを使用して非表示モードで起動してみましょう。

  1. 次の行をメモ帳にコピーします。
     Set WshShell = CreateObject( "WScript.Shell")WshShell.Run chr(34)& "C:\ Batch Files \ syncfiles.bat"&Chr(34)、0 Set WshShell = Nothing 

    注:必要に応じて、スクリプト内のバッチファイル名/パスを適宜置き換えてください。

  2. ファイルを.VBS拡張子で保存します。たとえば、 launch_bat.vbsと言いlaunch_bat.vbs
  3. .BATファイルの名前とパスを適宜編集し、ファイルを保存します。
  4. ダブルクリックしてlaunch_bat.vbsファイルを実行します。これにより、バッチファイルsyncfiles.bat見えなくなります。

関連: バッチファイルを自動的に昇格して管理者として実行する方法 -および-VBScriptsとUACの昇格(管理者として実行)

NirCmdを使用した非表示(非表示モード)の.BATまたは.CMDファイルの実行

NirCmdは、サードパーティベンダーのNirsoftが提供する多目的コマンドライン自動化ユーティリティです。 私たちのサイトでは、過去にNirCmdを何度も取り上げました。

NirCmdを使用して、プログラム、スクリプト、またはバッチファイルを非表示モードで実行できます。

NirCmdをダウンロードして、Windowsディレクトリにファイルを抽出します。

[実行]ダイアログまたはコマンドプロンプトから、次の構文を使用して、バッチファイルまたはプログラムを非表示モードで起動します。

 nircmd exec hide [バッチファイルへのパス] 

例:

 nircmd exec hide "c:\ batch files \ syncfiles.bat" 

(管理者として)昇格したバッチファイルを実行する必要がある場合は、代わりに次のコマンドを使用します。

 nircmd elevatecmd exec非表示c:\ batch files \ syncfiles.bat 

(NirCmdコマンドリファレンス– exec)

それでおしまい! 非表示モードでバッチまたはCMDファイルを実行する他の方法をご存知の場合は、お知らせください。

関連記事