24
24
如何将Windows批处理脚本转换为.exe?
我有一个相当简单的批处理脚本,我想在我的游戏键盘上使用宏来执行。但是,SteelSeries Engine只支持用宏按钮打开一个.exe文件。有什么办法可以将脚本转换成一个简单的可执行文件吗?
我有一个相当简单的批处理脚本,我想在我的游戏键盘上使用宏来执行。但是,SteelSeries Engine只支持用宏按钮打开一个.exe文件。有什么办法可以将脚本转换成一个简单的可执行文件吗?
是的,其实。虽然不好看,但是很干净(事后没什么好清理的),而且它其实是你系统内置的!
在你的`C:\Windows\System32是的,其实。虽然不好看,但是很干净(事后没什么好清理的),而且它其实是你系统内置的!
在你的文件夹里,有一个叫iexpress.exe
的文件。
Run as administrator
。 cmd /c [your_script.bat]
,其中[your_script.bat]是你要执行的脚本文件。如果你不这样做,windows将尝试使用Command.com(旧版的Command Prompt),它已经很久没有使用了。 需要注意的是,这个文件实际上只是作为你的脚本的包装,而脚本本身实际上是在执行时创建的临时文件夹中执行的(之后会被删除),所以请确保你不要使用任何相对路径。
我找到了 这篇 文章,它告诉你如何使用批处理程序将.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
重要下载。