web-dev-qa-db-ja.com

Windowsのバッチスクリプトを.exeに変換する方法を教えてください。

私は自分の派手なゲーミングキーボードのマクロを使って実行したい、とても簡単なバッチスクリプトを持っています。ただし、SteelSeries Engineは、マクロボタンで.exeファイルを開くことのみをサポートしています。スクリプトを単純な実行可能ファイルに変換する方法はありますか?

17
Chase Sandmann

はい、実際には。それはきれいではありませんが、それはきれいで(後できれいにするものは何もありません)そしてそれは実際にあなたのシステムに組み込まれています!

C:\Windows\System32\フォルダには、iexpress.exeというファイルがあります。

  • それをRun as administrator右クリックします。
  • 新しいSEDを作成し、「ファイルを抽出してインストールコマンドを実行する」を選択します。
  • 必要なスクリプトを追加し、次の画面でインストールプログラムをcmd /c [your_script.bat]に設定します。ここで、[your_script.bat]は実行するスクリプトファイルです。これを行わないと、windowsは長い間使用されていなかったCommand.com(旧バージョンのCommand Prompt)を使用しようとします。
  • 環境設定を選択し(「パッケージ内に長いファイル名を使用してファイルを保存する」を選択し、(作成したい.exeファイルへの)出力パスを設定し、「再起動しない」を選択します。
  • [次へ]をクリックすると、.exeがあるはずです。

ちなみに、このファイルは実際にはスクリプトのラッパーとして機能するだけで、スクリプト自体は実際には実行時に作成された(そして後で削除された)一時フォルダーで実行されるので、相対パスは使用しないでください。

18
Chase Sandmann

ここで私は非常にEXEのバッチファイルから作成するためにお勧めする2つの無料プログラムです。

1 - エグゼコンバーターへのバット

2 - バット2エグゼ

あなたは簡単なGUIで両方のプログラムを使うことができます。

Bat To Exe ConverterはCLIコマンドもサポートしています(ヘルプの\?フラグ)。ドキュメントからの基本的な例:

Bat_To_Exe_Converter.exe -bat mybatfile.bat -save myprogram.exe -icon myicon
11
rammi

あなたのキーボードソフトウェアが実行可能ファイルへの引数の受け渡しをサポートしているなら(これはあり得ないことではありません)あなたはそうする必要はありません。

cmd.exe /c <path to batchfile>

バッチファイルを実行して、キーボードソフトウェアの名前を指定する有効な実行可能ファイルを指定します。変換が不要なので、追加の手順を実行することなく、いつでも簡単にバットを変更できます。

5
Syberdoor

私は この の記事を見つけました。これは、バッチ式のスクリプトを使って.batを.exeファイルに変換する方法を示しています:

@ECHO OFF
ECHO Make EXE From BAT
ECHO Written by: Jason Faulkner
ECHO SysadminGeek.com
ECHO.
ECHO.

REM Usage:
REM MakeExeFromBat BatFileToConvert [IncludeFile1] [IncludeFile2] [...]
REM
REM Required Parameters:
REM  BatFileToConvert
REM      Source batch file to use to produce the output Exe file.
REM
REM Optional Parameters:
REM  IncludeFile
REM      Additional files to include in the Exe file.
REM      You can include external tools used by the batch file so they are available on the executing machine.

SETLOCAL

REM Configuration (no quotes needed):
SET PathTo7Zip=


REM ---- Do not modify anything below this line ----

SET OutputFile="%~n1.exe"
SET SourceFiles="%TEMP%MakeEXE_files.txt"
SET Config="%TEMP%MakeEXE_config.txt"
SET Source7ZFile="%Temp%MakeEXE.7z"

REM Remove existing files
IF EXIST %OutputFile% DEL %OutputFile%

REM Build source archive
ECHO "%~dpnx1" > %SourceFiles%
:AddInclude
IF {%2}=={} GOTO EndInclude
ECHO "%~dpnx2" >> %SourceFiles%
SHIFT /2
GOTO AddInclude
:EndInclude
"%PathTo7Zip%7za.exe" a %Source7ZFile% @%SourceFiles%

REM Build config file
ECHO ;!@Install@!UTF-8! > %Config%
ECHO RunProgram="%~nx1" >> %Config%
ECHO ;!@InstallEnd@! >> %Config%

REM Build EXE
COPY /B "%PathTo7Zip%7zsd.sfx" + %Config% + %Source7ZFile% %OutputFile%

REM Clean up
IF EXIST %SourceFiles% DEL %SourceFiles%
IF EXIST %Config% DEL %Config%
IF EXIST %Source7ZFile% DEL %Source7ZFile%

ENDLOCAL

重要なダウンロード:

3
Stackcraft_noob