batch_to_exe.cmd 1.3 KB

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