gpt4 book ai didi

windows - 无需额外的外部软件即可将 .bat 转换为 .exe(创建 SFX)

转载 作者:可可西里 更新时间:2023-11-01 13:50:23 35 4
gpt4 key购买 nike

按照与此相同的步骤 guide .我正在尝试从 bat 转换为 exe,而不安装任何新软件,例如 Bat to Exe Converter .我使用这种方法的原因是因为我工作场所的所有机器都已经安装了 7zip 并且可以使用它,但是我不允许使用主服务器上不存在的外部软件使脚本工作,以便在任何机器上兼容公司。

我有以下TEST.bat:

ECHO This is a Test bat to exe
pause

config.txt:

;!@Install@!UTF-8! 
RunProgram="TEST.bat"
;!@InstallEnd@!

然后我调用以下命令行(在另一个 .bat 中):

COPY /B "%PathTo7Zip%\7zCon.sfx" + %Config% + %Source7ZFile% %OutputFile%

%PathTo7Zip%7zCon.sfx 的目录%Config%就是上面的config.txt文件%Source7ZFile% 是我的 .7z 存档%OutputFile% 是我的输出 TEST.exe 文件,根据指南的作者,当我调用它时应该运行 bat 文件。但是,调用 TEST.exe 会触发解压缩 .7z 存档(这是预期的),然后在不运行 TEST.bat 的情况下退出。

然而作者解释:

结论:

请务必注意,虽然生成的文件与源 BAT 文件的运行方式完全相同,但这并不是真正的批处理到可执行文件的转换。生成的文件是一个 EXE,但它旨在用于自解压安装程序。当您执行生成的 EXE 文件时,过程如下所示:

  1. EXE 文件的内容被提取到临时目录。
  2. 读取脚本生成的配置文件。
  3. 包含在 EXE 文件中的批处理文件在一个新的文件中执行命令窗口。
  4. 完成后,将删除临时文件。

最佳答案

引用这个 How can a .bat file be 'converted' to .exe without third party tools?

原始脚本接受两个参数 - 您要转换的 .bat 文件和目标可执行文件。

我做了一点修改以接受一个参数:只是您要转换的 .bat 文件。

所以在这种情况下,您可以将批处理文件拖放到此脚本 bat2exeIEXP.bat 上,它将被转换为与批处理文件。

enter image description here

;@echo off
;Title Converting batch scripts to file.exe with iexpress
;Mode 75,3 & color 0A
;Rem Original Script https://github.com/npocmaka/batch.scripts/edit/master/hybrids/iexpress/bat2exeIEXP.bat
;echo(
;if "%~1" equ "" (
;echo Usage : Drag and Drop your batch file over this script:"%~nx0"
;Timeout /T 5 /nobreak>nul & Exit
;)
;set "target.exe=%__cd__%%~n1.exe"
;set "batch_file=%~f1"
;set "bat_name=%~nx1"
;set "bat_dir=%~dp1"
;Set "sed=%temp%\2exe.sed"
;echo Please wait a while ... Creating "%~n1.exe" ...
;copy /y "%~f0" "%sed%" >nul
;(
;(echo()
;(echo(AppLaunched=cmd /c "%bat_name%")
;(echo(TargetName=%target.exe%)
;(echo(FILE0="%bat_name%")
;(echo([SourceFiles])
;(echo(SourceFiles0=%bat_dir%)
;(echo([SourceFiles0])
;(echo(%%FILE0%%=)
;)>>"%sed%"

;iexpress /n /q /m %sed%
;del /q /f "%sed%"
;exit /b 0

[Version]
Class=IEXPRESS
SEDVersion=3
[Options]
PackagePurpose=InstallApp
ShowInstallProgramWindow=0
HideExtractAnimation=1
UseLongFileName=1
InsideCompressed=0
CAB_FixedSize=0
CAB_ResvCodeSigning=0
RebootMode=N
InstallPrompt=%InstallPrompt%
DisplayLicense=%DisplayLicense%
FinishMessage=%FinishMessage%
TargetName=%TargetName%
FriendlyName=%FriendlyName%
AppLaunched=%AppLaunched%
PostInstallCmd=%PostInstallCmd%
AdminQuietInstCmd=%AdminQuietInstCmd%
UserQuietInstCmd=%UserQuietInstCmd%
SourceFiles=SourceFiles

[Strings]
InstallPrompt=
DisplayLicense=
FinishMessage=
FriendlyName=-
PostInstallCmd=<None>
AdminQuietInstCmd=

关于windows - 无需额外的外部软件即可将 .bat 转换为 .exe(创建 SFX),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51098378/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com