Autoit プログラミングWindows 10Windows 11ソフトウェアバッチファイル & VBScriptパフォーマンスアップ便利機能自作ソフト

バッチファイル「.bat」または「.cmd」を最小化した状態で実行するプログラム

スポンサーリンク
スポンサーリンク

今回は、バッチファイル「.bat」または「.cmd」を実行した際に表示されるコマンドプロンプトのウィンドウを、最小化または非表示で実行するプログラム「CMD_MinRun.exe」を紹介します。

バックグラウンドでバッチファイルを実行したい場合などにご利用ください。

「CMD_MinRun.exe」の仕組みと使用方法

仕組み

  • 「CMD_MinRun.exe」は直接実行することはできません
  • 拡張子「.bat」または「.cmd」以外のファイルを実行することはできません

プログラムの実行時に、プログラムに渡されたコマンドライン引数を読み取り、パラメータの数が「0」である(引数がない)場合は直接実行したと判断し、メッセージを表示してプログラムを終了します。

このプログラムは直接実行することはできません。

パラメータの数が「0」以外であれば(引数があれば)、正規表現を使い、引数のファイルが拡張子「.bat」または「.cmd」であるかを判断し、拡張子が違えばメッセージを表示してプログラムを終了します。

このプログラムは、拡張子が「.bat」または「.cmd」以外は実行できません。

パラメータの数が「0」以外であり、拡張子が「.bat」または「.cmd」であればバッチファイルを最小化または非表示の状態で実行します。

※プログラムはバッチファイルを実行後すぐに終了します。

使用方法

1.バッチファイルを左クリックして離さず、「CMD_MinRun.exe」の上に持って行きクリックを離します。(ドラッグ&ドロップ)

2.ファイル名を指定して実行やコマンドプロンプト、タスクスケジューラなどからコマンドを実行する。

例えば、ドキュメントフォルダーにある「Bacup.bat」を実行したい場合は、”「CMD_MinRun.exe」のパス”、半角スペース、”実行したいバッチファイル”、というように書きます。

"%USERPROFILE%\Documents\CMD_MinRun.exe" "%USERPROFILE%\Documents\Bacup.bat"
コマンドプロンプト

「CMD_MinRun.exe」の場所はバッチファイルと同じ場所でなくても構いませんが、必ず各パスをダブルクォーテーションで囲んでおきましょう。

タスクスケジューラに登録する場合は、「プログラム/スクリプト(P):」に「CMD_MinRun.exe」のパスを、「引数の追加 (オプション)(A):」にバッチファイルのパスを指定してください。

タスクスケジューラ

例えば、定期的にバックグラウンドで何かのファイルをバックアップしたいときなどに、作業中にコマンドプロンプトのウィンドウが表示されては困るという場合に邪魔にならず便利です。

2024/04/26 Ver 1.0.0.1 :

オプション「/h」を追加しました。オプション「/h」を使うと、ウィンドウを非表示の状態で実行することができます。

例:

"%USERPROFILE%\Documents\CMD_MinRun.exe" "%USERPROFILE%\Documents\Edge_Profile_Bacup.bat" /h

「CMD_MinRun.exe」のソースコードとダウンロード

ソースコード(Ver 1.0.0.0)

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Outfile_x64=CMD_MinRun.exe
#AutoIt3Wrapper_Res_Description=バッチファイルを最小化した状態で実行します。
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_ProductName=CMD_MinRun
#AutoIt3Wrapper_Res_ProductVersion=1.0
#AutoIt3Wrapper_Res_CompanyName=©2024 wenbang https://windows-waza.com/
#AutoIt3Wrapper_Res_LegalCopyright=©2024 wenbang https://windows-waza.com/
#AutoIt3Wrapper_Res_LegalTradeMarks=CMD_MinRun.exe
#AutoIt3Wrapper_Res_Language=1041
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

If $CmdLine[0] = 0 Then Exit MsgBox(16 + 262144, "エラー", "このプログラムは直接実行することはできません。", 0)

If StringRegExp($CmdLine[1], "\.bat$|\.cmd$", 0) Then
    Run(@ComSpec & ' /c "' & $CmdLine[1] & '"', "", @SW_MINIMIZE)
Else
    Exit MsgBox(16 + 262144, "エラー", "このプログラムは、拡張子が「.bat」または「.cmd」以外は実行できません。", 0)
EndIf

ソースコードの解説

Autoit の $CmdLine には、プログラムに渡されたコマンドライン引数のデータが入っています。

$CmdLine[0] にはパラメータの数、$CmdLine[1] には「CMD_MinRun.exe」で実行したプログラムのパスが代入されます。

次のコードでは、パラメータの数をチェックしており、パラメータ数が「0」の場合はプログラムを終了し、「このプログラムは直接実行することはできません。」というメッセージボックスを表示します。

If $CmdLine[0] = 0 Then Exit MsgBox(16 + 262144, "エラー", "このプログラムは直接実行することはできません。", 0)

次のコードは、「CMD_MinRun.exe」で実行したファイルのパスの拡張子(後ろの 4文字)が「.bat」または「.cmd」であるかを正規表現(StringRegExp)でチェックしています。

もしも拡張子が「.bat」または「.cmd」であれば、バッチファイルを最小化した状態で実行します。

拡張子が違う場合はプログラムを終了し、「このプログラムは、拡張子が「.bat」または「.cmd」以外は実行できません。」というメッセージボックスを表示します。

If StringRegExp($CmdLine[1], "\.bat$|\.cmd$", 0) Then
    Run(@ComSpec & ' /c "' & $CmdLine[1] & '"', "", @SW_MINIMIZE)
Else
    Exit MsgBox(16 + 262144, "エラー", "このプログラムは、拡張子が「.bat」または「.cmd」以外は実行できません。", 0)
EndIf

ダウンロード

※自作ソフトについて(必ずお読みください)

2024/04/26 Ver 1.0.0.1:

オプション「/h」を追加しました。オプション「/h」を使うと、ウィンドウを非表示の状態で実行することができます。

ハッシュ値:対象「CMD_MinRun.exe」

SHA256 ハッシュ値:(1.0.0.0)
32320fae04c765592650eaf9b7fa5be33fce3774d73ca12d5b9428eec9f297e0

SHA256 ハッシュ値:(1.0.0.1)
3953a54a0befd7bf1ccbaedf6a5f740432ab656b440942c68fac77b8f37f4917

CMD_MinRun.zip(1.0.0.1)

Microsoft Edge のプロファイルを定期的に自動でバックアップする方法

当サイトでは、Windows 10/11 関連の情報、問題解決法やカスタマイズ方法などを紹介しています。皆様にとって、少しでもお役に立てれば幸いです。

コメント(降順)

OSの不具合に関する質問の場合は、明確かつ迅速に解決するために、以下の情報を分かる範囲で質問に含めてください。

1. 使用しているOSのバージョン

  • 例:Windows 10 Home 22H2、Windows 11 Pro 21H2 など

2. 発生している具体的な症状

  • 具体的な症状をできるだけ詳しく説明してください。
  • エラーメッセージが表示される場合は、その内容を正確に記載してください。
  • いつ、どのような操作中に問題が発生したのかを明記してください。

3. 症状が出たのはいつからですか?

  • 症状が出始めた時期をできるだけ具体的に教えてください。

4. 症状が出る前に何か特別な操作をしましたか?

  • 以下のような操作を行った場合は、教えてください。
    • アプリのインストール
    • システムの設定を変更するツールを使用した
    • ファイルの削除
    • レジストリの編集
    • その他

5. 症状が出た後に試したことはありますか?

  • 問題解決のために試したことを分かる範囲でリストアップしてください。
  • インターネットで調べた解決策を試したかどうか、その結果も記載してください。

6. Windows Updateは定期的に行っていますか?

  • 最近インストールした更新プログラムを教えてください。
  • 例:KB5034441

7. セキュリティソフトをご利用されていますか?

  • セキュリティソフトの種類(名称)を教えてください。

8. PCの型番

  • PCの型番がわかれば教えてください。
  • わからない場合は、「デスクトップ」または「ノート」と記入してください。
タイトルとURLをコピーしました