ホームページ » の仕方 » バッチ(BAT)スクリプトを実行可能ファイル(EXE)に変換する

    バッチ(BAT)スクリプトを実行可能ファイル(EXE)に変換する

    あなたがそれに降りるとき、バッチファイルと実行可能ファイルはほとんど同じように働きます。どちらも単にWindowsが実行するための命令とロジックのセットです。それで、それらが本質的に同じように働くならば、なぜあなたはバッチファイルを実行可能ファイルに変換したいですか?これにはいくつかの理由があります。

    • 移植性 - あなたはあなたのEXEファイルにバッチファイルが依存する追加のツールを含めることができます。.
    • 保護 - EXEはあなたのソーススクリプトを誤って変更されないように保護します。.
    • 利便性 - 実行可能ファイルは、WindowsのスタートメニューやWindows 7のタスクバーに固定できます。.

    以下のスクリプトを使用すると、バッチファイルから独自の実行可能ファイルを簡単に構築できます。必要な埋め込みツールが付属しています。.

    設定

    このスクリプトは7-ZipアドバンストSFX(SelF eXtractor)を利用して、付属のツールを使ってバッチファイルをまとめて実行します。だからあなたは(最後に提供されているリンクを)ダウンロードして単一のディレクトリにそれらを抽出する必要があるでしょう。.

    すべてのファイルをダウンロードしたら、スクリプトの 'PathTo7Zip'変数をこれらのファイルがダウンロードされた場所に設定します。.

    スクリプト

    @ ECHO OFF ECHO BAT ECHOからEXEを作成する作成者:Jason Faulkner ECHO SysadminGeek.com ECHO。エコー。 REM使用法:REM MakeExeFromBat BatFileToConvert [インクルードファイル1] [インクルードファイル2] […] REM REM必須パラメーター:REM BatFileToConvert REM出力Exeファイルを生成するために使用するソースバッチファイル。 REM REMオプションパラメータ:REM IncludeFile REM Exeファイルに含める追加ファイル。 REMバッチファイルで使用される外部ツールを実行マシンで使用できるように含めることができます。 SETLOCAL REM設定(引用符は不要):SET PathTo7Zip = REM ----この行の下にあるものは変更しないでください---- SET OutputFile = "%〜n1.exe" SET SourceFiles = "%TEMP%MakeEXE_files.txt" SET Config = "%TEMP%MakeEXE_config.txt" SET Source7ZFile = "%Temp%MakeEXE.7z" REM既存のファイルを削除する既存のファイルを削除%OutputFile%DEL%OutputFile%REMビルドソースアーカイブECHO "%〜dpnx1">%SourceFiles%:AddInclude IF %2 ==  GOTO EndInclude ECHO "%〜dpnx2" >>%SourceFiles%SHIFT / 2 GOTO AddInclude:EndInclude "%PathTo7Zip%7za.exe" a%Source7Zファイル%@%SourceFiles%REMビルド設定ファイルECHO ;!@ @ UTF-8をインストールしてください。 >%Config%ECHO RunProgram = "%〜nx1" >>%Config%ECHO;!@ InstallEnd @! >>%Config%REMビルドEXE COPY / B "%PathTo7Zip%7zsd.sfx" +%Config%+%Source7ZFile%%OutputFile%REMクリーンアップIF IFIST%SourceFiles%DEL%SourceFiles%IF EXIST%Config%DEL%Config %IFが存在します%Source7ZFile%DEL%Source7ZFile%ENDLOCAL

    結論

    結果として得られるファイルはソースBATファイルとまったく同じように実行されますが、これは実行可能ファイルへの変換の実際のバッチではないことに注意することが重要です。結果のファイルはEXEですが、自己解凍形式のインストーラ用に使用することを目的としています。結果のEXEファイルを実行すると、プロセスは次のようになります。

    1. EXEファイルの内容は、一時ディレクトリに抽出されます。.
    2. スクリプトによって生成された設定ファイルが読み込まれます。.
    3. EXEファイルに含まれているバッチファイルが新しいコマンドウィンドウで実行されます。.
    4. 終了すると、一時ファイルは削除されます.

    Windows Vistaおよび新しいOSでは、スクリプトの実行後に次のメッセージボックスが表示されることがあります。 [このプログラムは正しくインストールされました]を選択した後、メッセージボックスは今後このファイルに表示されなくなります.

    EXEファイルは新しいウィンドウで起動するので、出力をログに記録する一般的な方法( '>'文字を使用)は期待通りに機能しません。出力を記録するためには、ソーススクリプトでこれをネイティブに処理する必要があります。.

    これらの小さな不便にもかかわらず、バッチファイルを実行可能ファイルに変換することができることは本当に役に立ちます。.

    リンク集

    Sysadmin GeekからBATスクリプトを使ってEXEを作成する

    7-Zipコマンドラインツールをダウンロードする

    7-Zip Advanced 7zSD SFXをダウンロード