1+ @ echo off
2+
3+ rem Path variables
4+ set " bat2exeUrl = https://github.com/islamadel/bat2exe/releases/latest/download/bat2exe.exe"
5+ set " bat2exeExePath = %tmp% \bat2exe.exe"
6+ set batdir = %~dp0
7+ set " srcDirPath = %batdir% ..\src"
8+ set " buildDirPath = %batdir% ..\build"
9+ set " generatedExePath = %buildDirPath% \setup.exe"
10+ set " finalExeName = EasyWinSetup.exe"
11+ set " finalExePath = %buildDirPath% \%finalExeName% "
12+ set B2E_WS = " %tmp% \BAT2EXE_WS.ini"
13+ set B2E_TF = " %tmp% \BAT2EXE_TF.ini"
14+
15+ goto execute
16+ exit /b
17+
18+ :execute
19+ set " bat2exeExe = "
20+ call :getBat2exeExe
21+ if not defined bat2exeExe (
22+ call :installBat2exe
23+ )
24+
25+ if exist " %finalExePath% " del /F /Q " %finalExePath% "
26+ if not exist " %buildDirPath% " mkdir " %buildDirPath% "
27+
28+ @ echo %srcDirPath% > %B2E_WS%
29+ @ echo %buildDirPath% > %B2E_TF%
30+
31+ %bat2exeExe%
32+
33+ rename " %generatedExePath% " " %finalExeName% "
34+
35+ exit /b
36+
37+ :getbat2exeexe
38+ rem Check if optimizer exe exists
39+ for %%X in (%bat2exeExePath% ) do (set bat2exeFound=%%~$PATH:X )
40+ if defined bat2exeFound (
41+ set bat2exeExe = " %bat2exeFound% "
42+ exit /b 0
43+ ) else (
44+ exit /b 4
45+ )
46+
47+ :installBat2exe
48+ setlocal EnableDelayedExpansion
49+ call :execPowershellCmd " (New-Object System.Net.WebClient).DownloadFile('^!bat2exeUrl^! ', '^!bat2exeExePath^! ')"
50+ endlocal
51+
52+ set " bat2exeExe = "
53+ call :getBat2exeExe
54+ if not defined bat2exeExe (
55+ echo " An unexpected error occured udring installation, bat2exe executable file does exist"
56+ exit /b 1
57+ )
58+
59+ exit /b
60+
61+ :execPowershellCmd
62+ @ echo off
63+ setlocal EnableDelayedExpansion
64+
65+ set errorlevel =
66+ powershell -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command %1
67+ if !errorlevel! neq 0 (
68+ endLocal
69+ echo Press any key to exit...
70+ pause > nul
71+ goto :halt
72+ )
73+
74+ endLocal
75+ exit /b
0 commit comments