Úvodná » ako » Previesť šaržu dávky (BAT) do spustiteľného súboru (EXE)

    Previesť šaržu dávky (BAT) do spustiteľného súboru (EXE)

    Keď sa na to dostanete, dávkové súbory a spustiteľné súbory fungujú skoro rovnako. Obidva sú jednoducho súbor inštrukcií a logiky pre spustenie systému Windows. Tak prečo by ste chceli konvertovať dávkový súbor na spustiteľný súbor, ak v podstate fungujú rovnako? Tu je niekoľko dôvodov:

    • Prenositeľnosť - do súboru EXE môžete zahrnúť ďalšie nástroje, od ktorých závisí dávkový súbor.
    • Ochrana - EXE poskytuje ochranu pre váš zdrojový skript, aby sa zabezpečilo, že nebude neúmyselne upravené.
    • Pohodlie - spustiteľné súbory môžu byť pripevnené k ponuke Windows Start alebo Windows 7 Task Bar.

    S nižšie uvedeným skriptom môžete ľahko vytvoriť vlastný spustiteľný súbor z dávkového súboru, ktorý obsahuje kompletné a vyžadované vložené nástroje.

    konfigurácia

    Tento skript využíva pokročilý SFX 7-Zip (SelF eXtractor) na zväzok a spúšťanie dávkového súboru pomocou akýchkoľvek nástrojov. Takže budete musieť stiahnuť (odkazy na konci) tieto a extrahovať ich do jedného adresára.

    Po stiahnutí všetkého nastavte premennú "PathTo7Zip" v skripte na miesto, kde sú tieto súbory stiahnuté.

    Scenár

    @ECHO OFF ECHO Značka EXE Z BAT ECHO Napísal: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. REM Použitie: REM MakeExeFromBat BatFileToConvert [IncludeFile1] [IncludeFile2] [...] REM REM Požadované parametre: REM BatFileToConvert REM zdrojový dávkový súbor, ktorý sa má použiť na vytvorenie výstupného súboru Exe. REM REM Voliteľné parametre: REM IncludeFile REM Ďalšie súbory, ktoré sa majú zahrnúť do súboru Exe. REM Môžete zahrnúť externé nástroje používané dávkovým súborom, aby boli k dispozícii na vykonávacom stroji. SETLOCAL REM Konfigurácia (bez úvodzoviek): SET PathTo7Zip = REM ---- Nepodlieha žiadna zmena pod týmto riadkom ---- SET OutputFile = "% ~ n1.exe" SET ZdrojFiles = "% TEMP% MakeEXE_files.txt" SET Config = "% TEMP% MakeEXE_config.txt" SET Source7ZFile = "% Temp% MakeEXE.7z" REM Odstrániť existujúce súbory IF EXIST% OutputFILE% DEL% OutputFile% REM Vytvoriť zdrojový archív ECHO "% ~ dpnx1">% SourceFiles% Ak% % 2 ==  GOTO EndInclude ECHO "% ~ dpnx2" >>% ZdrojFiles% SHIFT / 2 GOTO AddInclude: EndInclude "% PathTo7Zip% 7za.exe"% Source7ZFile% @ SourceFiles% REM Build config file ECHO ;! 'Inštalácia' UTF-8! >% Config% ECHO RunProgram = "% ~ nx1" >>% Config% ECHO;! @ InstallEnd @! >>% Config% REM Vytvoriť EXE COPY / B "% PathTo7Zip% 7zsd.sfx" +% Config% +% Zdroj7ZFile%% OutputFile% REM Vyčistiť ak existujú% SourceFiles% DEL% SourceFiles% AK EXIST% Config% DEL% Config Ak existuje EXIST% Source7ZFile% DEL% Zdroj7ZFile% ENDLOCAL

    záver

    Je dôležité poznamenať, že zatiaľ čo výsledný súbor beží presne rovnaký ako zdrojový súbor BAT, nie je to pravá dávka spustiteľnej konverzie. Výsledný súbor je EXE, ale je určený na použitie pre samorozbalovacích inštalatérov. Keď vykonáte výsledný súbor EXE, proces ide takto:

    1. Obsah súboru EXE sa extrahuje do adresára temp.
    2. Vytvorí sa konfiguračný súbor generovaný skriptom.
    3. Dávkový súbor obsiahnutý v súbore EXE sa spustí v novom príkazovom okne.
    4. Po dokončení sa dočasné súbory odstránia.

    V systéme Windows Vista a novom operačnom systéme sa po spustení skriptu môže zobraziť nasledujúce okno so správou. Po výbere správne nainštalovaného programu sa v budúcnosti tento súbor nezobrazí.

    Keďže súbor EXE sa spustí v novom okne, typický spôsob zaznamenávania výstupu (pomocou znaku ">") nebude fungovať podľa očakávania. Ak chcete zaznamenať výstup, musíte to natočiť vo svojom zdrojovom skripte.

    Napriek týmto menším nepríjemnostiam, schopnosť previesť dávkový súbor do spustiteľného počítača môže naozaj prísť vhod.

    odkazy

    Stiahnite si EXE z BAT Script od Sysadmin Geek

    Stiahnite si 7-Zip Command Line Tool

    Stiahnite si 7-Zip Advanced 7zSD SFX