batch_to_exe.cmd 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. @ECHO OFF
  2. REM Copyright 2019-2021 Tauri Programme within The Commons Conservancy
  3. REM SPDX-License-Identifier: Apache-2.0
  4. REM SPDX-License-Identifier: MIT
  5. ECHO Make EXE From BAT
  6. ECHO.
  7. ECHO.
  8. REM Usage:
  9. REM MakeExeFromBat BatFileToConvert [IncludeFile1] [IncludeFile2] [...]
  10. REM
  11. REM Required Parameters:
  12. REM BatFileToConvert
  13. REM Source batch file to use to produce the output Exe file.
  14. REM
  15. REM Optional Parameters:
  16. REM IncludeFile
  17. REM Additional files to include in the Exe file.
  18. REM You can include external tools used by the batch file so they are available on the executing machine.
  19. SETLOCAL
  20. REM Configuration (no quotes needed):
  21. SET PathTo7Zip=
  22. REM ---- Do not modify anything below this line ----
  23. SET OutputFile="%~n1.exe"
  24. SET SourceFiles="%TEMP%MakeEXE_files.txt"
  25. SET Config="%TEMP%MakeEXE_config.txt"
  26. SET Source7ZFile="%Temp%MakeEXE.7z"
  27. REM Remove existing files
  28. IF EXIST %OutputFile% DEL %OutputFile%
  29. REM Build source archive
  30. ECHO "%~dpnx1" > %SourceFiles%
  31. :AddInclude
  32. IF {%2}=={} GOTO EndInclude
  33. ECHO "%~dpnx2" >> %SourceFiles%
  34. SHIFT /2
  35. GOTO AddInclude
  36. :EndInclude
  37. "%PathTo7Zip%7za.exe" a %Source7ZFile% @%SourceFiles%
  38. REM Build config file
  39. ECHO ;!@Install@!UTF-8! > %Config%
  40. ECHO RunProgram="%~nx1" >> %Config%
  41. ECHO ;!@InstallEnd@! >> %Config%
  42. REM Build EXE
  43. COPY /B "%PathTo7Zip%7zsd.sfx" + %Config% + %Source7ZFile% %OutputFile%
  44. REM Clean up
  45. IF EXIST %SourceFiles% DEL %SourceFiles%
  46. IF EXIST %Config% DEL %Config%
  47. IF EXIST %Source7ZFile% DEL %Source7ZFile%
  48. ENDLOCAL