如何将 Windows 批处理脚本转换为 .exe?

Cha*_*ann 43 windows-7 batch

我有一个相当简单的批处理脚本,我想在我喜欢的游戏键盘上使用宏来执行它。但是,SteelSeries Engine 仅支持使用宏按钮打开 .exe 文件。有没有办法将脚本转换为简单的可执行文件?

Cha*_*ann 37

是的,实际上。它不漂亮,但很干净(之后无需清理)而且它实际上是内置于您的系统中的!

在您的C:\Windows\System32\文件夹中,有一个名为iexpress.exe.

  • 右键单击它Run as administrator
  • 创建一个新的 SED 并选择“提取文件并运行安装命令”。
  • 添加您想要的脚本,并确保在下一个屏幕上,您将安装程序设置为cmd /c [your_script.bat][your_script.bat] 是您想要执行的脚本文件。如果您不这样做,Windows 将尝试使用很久没有使用的 Command.com(旧版本的命令提示符)。
  • 选择首选项(您可能需要选择“在包内使用长文件名存储文件”),设置输出路径(到您要创建的 .exe 文件),然后选择“不重新启动”。
  • 点击下一步,你应该有你的.exe!

请注意,该文件实际上仅充当脚本的包装器,并且脚本本身实际上在执行时创建的临时文件夹中执行(并在之后删除),因此请确保不使用任何相对路径。

  • 不幸的是,我们的企业 AV 注意到生成的可执行文件是“机柜自解压器”,并将其标记为恶意活动。 (2认同)
  • 内置工具 +1 (2认同)

小智 15

这是我强烈推荐用于从批处理文件中创建 EXE 的 2 个免费程序

1 - 蝙蝠到 Exe 转换器

2 - 蝙蝠 2 exe

您可以通过简单的 GUI 使用这两个程序。

Bat To Exe Converter还支持 CLI 命令(\?帮助标志)。文档中的基本示例:

Bat_To_Exe_Converter.exe -bat mybatfile.bat -save myprogram.exe -icon myicon
Run Code Online (Sandbox Code Playgroud)

  • 您能否还简要介绍一下如何使用这些程序完成任务?在答案中包含额外的细节永远不会有什么坏处:) (3认同)

Syb*_*oor 6

如果您的键盘软件支持将参数传递给可执行文件(这并非不可能),则您不必这样做。

cmd.exe /c <path to batchfile>
Run Code Online (Sandbox Code Playgroud)

将运行批处理文件,并为您提供一个有效的可执行文件来命名键盘软件。无需转换意味着您可以随时轻松更改您的球棒,而无需额外的步骤。


Sta*_*oob 6

我发现这篇文章向您展示了如何使用批处理脚本将 .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
Run Code Online (Sandbox Code Playgroud)

重要下载: