Когато стигнете до него, партидните файлове и изпълнимите файлове работят почти по същия начин. И двата са просто набор от инструкции и логика за изпълнение на Windows. Защо тогава искате да конвертирате партиден файл в изпълним файл, ако по същество работи същото? Ето няколко причини:
С скрипта по-долу можете лесно да създавате собствен изпълним файл от партиден файл, пълен с необходимите вградени инструменти.
Този скрипт се възползва от 7-Zip advanced SFX (SelF eXtractor), за да обедини и изпълни партидния файл с всички включени инструменти. Така че ще трябва да изтеглите (връзки, предоставени в края) и да ги извлечете в една директория.
След като изтеглите всичко, задайте променливата "PathTo7Zip" в скрипта на мястото, където са изтеглени тези файлове.
@ECHO OFF ECHO Направете EXE от BAT ECHO Написано от: Jason Faulkner ECHO SysadminGeek.com ECHO. Хуманитарна помощ. Използване на REM: REM MakeExeFromBat BatFileToConvert [IncludeFile1] [IncludeFile2] [...] REM REM Изисквани параметри: REM BatFileToConvert REM Източник на партида файл, който да се използва за производство на изходния файл Exe. REM REM Незадължителни параметри: REM IncludeFile REM Допълнителни файлове, които да се включат във файла Exe. REM Можете да включите външни инструменти, използвани от партидния файл, така че да са налични на изпълняващата машина. SETLOCAL REM Конфигурация (не е необходима кавичка): SET PathTo7Zip = REM ---- Не променяйте нищо под този ред ---- SET OutputFile = "% ~ n1.exe" SET SourceFiles = "% TEMP% MakeEXE_files.txt" SET Config = "% TEMP% MakeEXEXE_config.txt" SET Source7ZFile = "% Temp% MakeEXE.7z" REM Премахване на съществуващи файлове, ако има EXIST% OutputFile% DEL% OutputFile% REM Изграждане на архив на източника ECHO "% ~ dpnx1">% SourceFiles% АКО % 2 == GOTO EndInclude ECHO "% ~ dpnx2" >>% SourceFiles% SHIFT / 2 GOTO AddInclude: EndInclude "% PathTo7Zip% 7za.exe"% Source7ZFile% @ SourceFiles% REM Изграждане на конфигурационен файл ECHO ;! @ Инсталирайте @ UTF-8! >% Конфигурация% ECHO RunProgram = "% ~ nx1" >>% Конфигурация% ECHO;! @ InstallEnd @! >>% Config% REM Изграждане EXE COPY / B "% PathTo7Zip% 7zsd.sfx" +% Config% +% Източник7ZFile%% OutputFile% REM Почистване АКО съществува% SourceFiles% DEL% SourceFiles% АКО EXIST% Config% DEL% Config % АКО съществува% Източник7ЗФийл% DEL% Източник7З Файл% ENDLOCAL
Важно е да се отбележи, че докато полученият файл работи точно като файла източник на BAT, това не е истинска партида за изпълними реализации. Полученият файл е EXE, но е предназначен да бъде използван за инсталатори за самоизвличане. Когато изпълнявате резултантния EXE файл, процесът върви по следния начин:
В Windows Vista и в новите операционни системи може да видите следното поле със съобщения след изпълнението на скрипта. След като изберете "Тази програма е инсталирана правилно", полето за съобщения няма да се показва в бъдеще за този файл.
Тъй като EXE файлът се стартира в нов прозорец, типичният начин за записване на изход (използвайки char>) няма да работи както се очаква. За да влезете в изхода, ще трябва да се справите с това естествено във вашия скрипт.
Въпреки тези незначителни неудобства, да можете да конвертирате партиден файл в изпълним файл, наистина може да дойде по-удобно.
Изтегляне Направете EXE от BAT Script от Sysadmin Geek
Изтеглете 7-Zip Command Line Tool
Изтеглете 7-Zip Advanced 7zSD SFX