batch 배치 파일을 exe 실행 파일로 변환하기 (윈도우즈 기본 기능 : iexpress.exe) - gui, cli 둘다 지원

윈도우즈/OS 일반|2020. 5. 29. 15:30
반응형

윈도우즈의 iexpress.exe 파일을 이용하면 배치 파일을 exe 실행 파일로 변환 시킬 수 있습니다.

파일을 찾아 더블클릭하여 GUI 환경에서 셋팅도 가능하며,

아래와 같이 convert.bat 파일을 만들어 cmd 화면에서 cli 명령으로 변환도 가능합니다.


본래는 패키지 만드는 도구이지만 이렇게 하나의 배치파일도 exe 파일로 변환이 가능합니다.

여기에서는 command line 에서 변환하는 방법을 안내 드립니다.


변환 도구를 아래와 같이 작성합니다.


1. 명령 프롬프트에서 사용시


convert.bat


;@echo off

; rem https://github.com/npocmaka/batch.scripts/edit/master/hybrids/iexpress/bat2exeIEXP.bat

;if "%~2" equ "" (

; echo usage: %~nx0 batFile.bat target.Exe

;)

;set "target.exe=%__cd__%%~2"

;set "batch_file=%~f1"

;set "bat_name=%~nx1"

;set "bat_dir=%~dp1"


;copy /y "%~f0" "%temp%\2exe.sed" >nul


;(echo()>>"%temp%\2exe.sed"

;(echo(AppLaunched=cmd.exe /c "%bat_name%")>>"%temp%\2exe.sed"

;(echo(TargetName=%target.exe%)>>"%temp%\2exe.sed"

;(echo(FILE0="%bat_name%")>>"%temp%\2exe.sed"

;(echo([SourceFiles])>>"%temp%\2exe.sed"

;(echo(SourceFiles0=%bat_dir%)>>"%temp%\2exe.sed"

;(echo([SourceFiles0])>>"%temp%\2exe.sed"

;(echo(%%FILE0%%=)>>"%temp%\2exe.sed"



;iexpress /n /q /m %temp%\2exe.sed


;del /q /f "%temp%\2exe.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=

UserQuietInstCmd= 


그리고 변환이 필요한 bat 파일이 있다면 (예: run.bat) 아래 예시와 같이 명령을 수행하면 됩니다.


c:\> convert.bat run.bat run.exe



[출처] https://stackoverflow.com/questions/28174386/how-can-a-bat-file-be-converted-to-exe-without-third-party-tools



2. GUI 환경에서 사용시


순차적으로 실행 합니다.


시작 > 실행 > iexpress 입력 후 엔터


Create new Self Extraction Directive file.


Extract files and run an installation command


타이틀 이름 적기


No prompt


Do not display a license


Package file

> 압축할 파일을 찾기 (bat 파일)


Install Program to Launch

> exe 실행시 압축 해제 후 사용할 기본 명령어

> setup.bat 파일을 변환한다면 아래와 같이 입력

> cmd.exe /c "setup.bat"


Default (recommended)


No message


Package name and Options

> (exe 변환 파일 저장 위치) 찾아보기 누른 뒤 경로와 생성할 exe 파일명 지정


No restart


Save Self Extraction Directive (SED) file  (중요치않다)


Create package


끝.


* 참고로 파일명은 setup.bat > setup.exe 으로 했을때 잘 실행되지만

   이상하게 다른 이름을 사용하면 실행이 되지 않는다.

   (예: applypatch.bat > applypatch.exe)


* exe 로 실행시 %~dp0 이나 %~s0 의 기본 변수는 사용되지 못함에 주의

반응형

댓글()