Domovská » jak » Převést šarže dávky (BAT) do souboru spustitelného souboru (EXE)

    Převést šarže dávky (BAT) do souboru spustitelného souboru (EXE)

    Když se k tomu dostanete, dávkové soubory a spustitelné soubory pracují téměř stejně. Oba jsou prostě sada instrukcí a logiky pro spouštění systému Windows. Tak proč byste chtěli konvertovat dávkový soubor na spustitelný soubor, pokud v podstatě fungují stejně? Zde je několik důvodů:

    • Přenositelnost - do souboru EXE můžete přidat další nástroje, na které závisí dávkový soubor.
    • Ochrana - EXE poskytuje ochranu zdrojového skriptu, aby se zajistilo, že nebude neúmyslně upraven.
    • Pohodlí - spustitelné soubory lze připojit k nabídce Start systému Windows a / nebo k panelu úloh systému Windows 7.

    Pomocí níže uvedeného skriptu můžete snadno vytvářet vlastní spustitelný soubor z dávkového souboru, který je doplněn potřebnými vloženými nástroji.

    Konfigurace

    Tento skript využívá pokročilého nástroje SFX (SelF eXtractor) se 7 zipy, který sdružuje a spustí dávkový soubor s jakýmikoliv přiloženými nástroji. Takže budete muset stáhnout (odkazy na konci) tyto a extrahovat je do jednoho adresáře.

    Jakmile máte vše stažené, nastavte v skriptu proměnnou 'PathTo7Zip' na místo, kde byly tyto soubory staženy.

    Scénář

    @ECHO OFF ECHO Značka EXE Z BAT ECHO Autor: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. REM Použití: REM MakeExeFromBat BatFileToConvert [IncludeFile1] [IncludeFile2] [...] REM REM Požadované parametry: REM BatFileToConvert REM zdrojový dávkový soubor, který se použije k vytvoření výstupního souboru Exe. REM REM Volitelné parametry: REM IncludeFile REM Další soubory zahrnuté do souboru Exe. REM Můžete zahrnout externí nástroje používané dávkovým souborem tak, aby byly k dispozici na spouštěcím zařízení. Konfigurace SETLOCAL REM (žádné uvozovky není potřeba): SET PathTo7Zip = REM ---- Neupravujte nic pod tímto řádkem ---- SET OutputFile = "% ~ n1.exe" SET SourceFiles = "% TEMP% MakeEXE_files.txt" SET Config = "% TEMP% MakeEXE_config.txt" SET Source7ZFile = "% Temp% MakeEXE.7z" REM Odstranit existující soubory Pokud existují EXIST% OutputFILE% DEL% OutputFile% REM Vytvořit zdrojový archiv ECHO "% ~ dpnx1">% SourceFiles% IF% % 2 ==  GOTO EndInclude ECHO "% ~ dpnx2" >>% SourceFiles% SHIFT / 2 GOTO AddInclude: EndInclude "% PathTo7Zip% 7za.exe"% Source7ZFile% @ SourceFiles% REM Build config file ECHO ;! @ Install @! UTF-8! >% Config% ECHO RunProgram = "% ~ nx1" >>% Config% ECHO;! @ InstallEnd @! >>% Config% REM Vytvořit EXE COPY / B "% PathTo7Zip% 7zsd.sfx" +% Config% +% Source7ZFile%% OutputFile% REM Vyčistit pokud existuje% SourceFiles% DEL% SourceFiles% IF EXIST% Config% DEL% Config Pokud existuje% Source7ZFile% DEL% Source7ZFile% ENDLOCAL

    Závěr

    Je důležité si uvědomit, že zatímco výsledný soubor běží přesně stejný jako zdrojový soubor BAT, není to skutečná dávka k spustitelné konverzi. Výsledný soubor je EXE, ale je určen pro použití pro samorozbalovací instalátory. Při spuštění výsledného souboru EXE proces postupuje takto:

    1. Obsah souboru EXE se extrahuje do adresáře temp.
    2. Vytvoří se konfigurační soubor vygenerovaný skriptem.
    3. Dávkový soubor obsažený v souboru EXE se spustí v novém příkazovém okně.
    4. Po dokončení jsou dočasné soubory odstraněny.

    V systému Windows Vista a nových operačních systémech se po spuštění skriptu může zobrazit následující zpráva. Po výběru "Tento program je správně nainstalován" se v tomto souboru v budoucnu nezobrazí okno se zprávou.

    Protože soubor EXE se spustí v novém okně, typický způsob záznamu výstupu (pomocí znaku '>') nebude fungovat podle očekávání. Aby bylo možné zaznamenat výstup, budete muset tento zdroj naskenovat natolik v zdrojovém skriptu.

    Navzdory těmto drobným obtížím může být převedení dávkového souboru na spustitelný soubor skutečně užitečné.

    Odkazy

    Stáhněte si EXE z BAT Script z Sysadmin Geek

    Stáhněte si Nástroj příkazového řádku 7-Zip

    Stáhněte si 7-Zip Advanced 7zSD SFX