Početna » kako da » Pretvorite Batch (BAT) skriptu u izvršnu (EXE) datoteku

    Pretvorite Batch (BAT) skriptu u izvršnu (EXE) datoteku

    Kada dođete do toga, naredbene datoteke i izvršne datoteke rade na isti način. Oba su jednostavno skup uputa i logika za izvršavanje sustava Windows. Pa zašto biste htjeli pretvoriti batch datoteku u izvršnu datoteku ako u suštini rade isto? Evo nekoliko razloga:

    • Prenosivost - u EXE datoteku možete uključiti dodatne alate o kojima ovisi batch datoteka.
    • Zaštita - EXE pruža zaštitu izvornoj skripti kako bi se osiguralo da nije slučajno izmijenjena.
    • Praktičnost - izvršne datoteke mogu se prikvačiti na Windows Start Menu i / ili Windows 7 Task Bar.

    Uz skriptu u nastavku, možete jednostavno izgraditi vlastitu izvršnu datoteku iz skupne datoteke, zajedno s potrebnim ugrađenim alatima.

    Konfiguracija

    Ova skripta koristi prednosti 7-Zip naprednog SFX-a (SelF eXtractor) za skupljanje i izvršavanje batch datoteke s bilo kojim uključenim alatima. Tako ćete morati preuzeti (linkovi navedeni na kraju) te ih izvaditi u jedan direktorij.

    Nakon što ste sve preuzeli, postavite varijablu 'PathTo7Zip' u skripti na mjesto gdje su te datoteke preuzete.

    Skripta

    @ECHO OFF ECHO Napravite EXE iz BAT ECHO Autor: Jason Faulkner ECHO SysadminGeek.com ECHO. JEKA. REM Upotreba: REM MakeExeFromBat BatFileToConvert [IncludeFile1] [IncludeFile2] […] REM REM Potrebni parametri: REM BatFileToConvert REM Izvor batch datoteka koristiti za proizvodnju izlazne Exe datoteku. REM REM Izborni parametri: REM IncludeFile REM Dodatne datoteke za uključivanje u Exe datoteku. REM Možete uključiti vanjske alate koje koristi batch datoteka tako da su dostupni na izvršnom stroju. SETLOCAL REM konfiguracija (nijedan navodnik nije potreban): SET PathTo7Zip = REM ---- Nemojte mijenjati ništa ispod ove linije ---- SET OutputFile = "% ~ n1.exe" SET SourceFiles = "% TEMP% MakeEXE_files.txt" SET Config = "% TEMP% MakeEXE_config.txt" SET Source7ZFile = "% Temp% MakeEXE.7z" REM Uklanjanje postojećih datoteka IF EXIST% OutputFile% DEL% OutputFile% REM Izrada izvorne arhive ECHO "% ~ dpnx1">% SourceFiles%: AddInclude AKO % 2 ==  GOTO EndInclude ECHO "% ~ dpnx2" >>% SourceFiles% SHIFT / 2 GOTO AddInclude: EndInclude "% PathTo7Zip% 7za.exe"% Source7ZFile% @% SourceFiles% REM !; 'Instalacija' UTF-8! >% Config% ECHO RunProgram = "% ~ nx1" >>% Config% ECHO;! @ InstallEnd @! %% Konfiguracija% REM Izrada EXE COPY / B "% PathTo7Zip% 7zsd.sfx" +% Config% +% Source7ZFile%% OutputFile% REM Čišćenje IF EXIST% SourceFiles% DEL% SourceFiles% EXIST%% Config% DEL% Config % IF EXIST% Source7ZFile% DEL% Source7ZFile% ENDLOCAL

    Zaključak

    Važno je napomenuti da, iako se rezultirajuća datoteka pokreće točno isto kao izvorna BAT datoteka, to nije istinska serijska pretvorba u izvršnu datoteku. Rezultirajuća datoteka je EXE, ali je namijenjena za samo-izdvajanje instalatera. Kada izvršite rezultirajuću EXE datoteku, proces ide ovako:

    1. Sadržaj EXE datoteke ekstrahira se u temp direktorij.
    2. Čita se konfiguracijska datoteka koju generira skripta.
    3. Batch datoteka sadržana u EXE datoteci izvršava se u novom prozoru naredbe.
    4. Kada završite, privremene datoteke se uklanjaju.

    U sustavu Windows Vista i novim operativnim sustavima, nakon pokretanja skripte možete vidjeti sljedeći okvir s porukom. Nakon što odaberete "Ovaj program ispravno instaliran", okvir za poruke neće biti prikazan u budućnosti za ovu datoteku.

    Budući da se EXE datoteka pokreće u novom prozoru, tipičan način prijavljivanja (pomoću znaka '>') neće raditi kako se očekivalo. Da biste prijavili izlaz, trebali biste to obraditi izvorno u izvornoj skripti.

    Unatoč tim manjim neugodnostima, biti u mogućnosti pretvoriti batch datoteku u izvršnu datoteku zaista može biti korisno.

    linkovi

    Preuzmite Make EXE iz BAT Script iz Sysadmin Geek

    Preuzmite Alat za naredbe 7-Zip

    Preuzmite 7-Zip Advanced 7zSD SFX