Pagina principala » HOWTO » Conversia unui script Batch (BAT) într-un fișier executabil (EXE)

    Conversia unui script Batch (BAT) într-un fișier executabil (EXE)

    Când ajungeți la ea, fișierele batch și fișierele executabile funcționează cam la fel. Ambele sunt pur și simplu un set de instrucțiuni și logică pentru executarea Windows. Deci, de ce ați dori să convertiți un fișier batch într-un executabil, dacă în esență funcționează la fel? Iată câteva motive:

    • Portabilitate - puteți include instrumente suplimentare în fișierul EXE pe care depinde fișierul batch.
    • Protecție - un EXE oferă protecție pentru scriptul sursă pentru a vă asigura că nu este modificat din neatenție.
    • Convenabilitate - fișierele executabile pot fi fixate în meniul Start Windows și / sau în bara de activități Windows 7.

    Cu scriptul de mai jos, puteți să vă construiți cu ușurință propriul fișier executabil dintr-un fișier batch, completat cu instrumentele necesare și încorporate.

    configurație

    Acest script folosește un SFX avansat 7-Zip (SelF eXtractor) pentru a lega și executa fișierul batch cu orice unelte incluse. Deci, va trebui să descărcați (link-uri furnizate la sfârșit) aceste și să le extrageți într-un singur director.

    Odată ce ați descărcat totul, setați variabila "PathTo7Zip" în scriptul în locația în care au fost descărcate aceste fișiere.

    Scriptul

    @CHO OFF ECHO Executați EXE de la BAT ECHO Scris de: Jason Faulkner ECHO SysadminGeek.com ECHO. ECOU. REM Utilizare: REM MakeExeFromBat BatFileToConvert [IncludeFile1] [IncludeFile2] [...] REM REM Parametrii necesari: REM BatFileToConvert REM Fișierul sursă batch pentru a fi utilizat pentru a produce fișierul de ieșire Exe. REM REM Parametrii opționali: REM IncludeFile REM Fișierele suplimentare care trebuie incluse în fișierul Exe. REM Puteți include instrumentele externe utilizate de fișierul lot astfel încât acestea să fie disponibile pe mașina executantă. Configurarea SETLOCAL REM (nu este nevoie de citate): SET PathTo7Zip = REM ---- Nu modificați nimic sub această linie ---- SET OutputFile = "% ~ n1.exe" SET SourceFiles = "SETUP %% TEXT_EXE_files.txt" SET Config = "% TEMP% MakeSEXE_config.txt" SET Source7ZFile = "% Temp% MakeEXE.7z" REM Eliminați fișierele existente DACĂ EXIST% OutputFile% DEL% OutputFile% REM Creare arhiva sursă ECHO "% ~ dpnx1">% SourceFiles% Dacă % 2 ==  GOTO Termină ECHO "% ~ dpnx2" >>% SourceFiles% SHIFT / 2 GOTO AddInclude: EndInclude "% PathTo7Zip% 7za.exe"% Source7ZFile% @ SourceFiles% REM ;! @ Instalați @ UTF-8! >% Config% ECHO RunProgram = "% ~ nx1" >>% Config% ECHO;! @ InstallEnd @! >>% Config% REM Construiți EXE COPY / B "% PathTo7Zip% 7zsd.sfx" +% Config% +% Sursă7ZFile%% OutputFile% REM Curăță dacă EXIST% SourceFiles% DEL% SourceFiles% DACĂ EXISTĂ% CONFIG% DEL% Config % DACĂ EXIST% Source7ZFile% DEL% Source7ZFile% ENDLOCAL

    Concluzie

    Este important să rețineți că, în timp ce fișierul rezultat se execută exact la fel ca fișierul sursă BAT, acesta nu este un lot adevărat de conversie executabil. Fișierul rezultat este un EXE, însă este destinat să fie utilizat pentru instalatorii de auto-extragere. Când executați fișierul EXE rezultat, procesul se termină astfel:

    1. Conținutul fișierului EXE este extras în directorul temp.
    2. Se citește fișierul de configurare generat de script.
    3. Fișierul lot conținut în fișierul EXE este executat într-o nouă fereastră de comandă.
    4. După terminare, fișierele temporare sunt eliminate.

    În Windows Vista și în noile sisteme de operare, este posibil să vedeți următoarea casetă de mesaje după executarea scriptului. După ce ați selectat "Acest program instalat corect", caseta de mesaje nu va fi afișată în viitor pentru acest fișier.

    Deoarece fișierul EXE se lansează într-o fereastră nouă, modalitatea tipică de ieșire de logare (folosind caracterul ">") nu va funcționa așa cum era de așteptat. Pentru a înregistra rezultatele, trebuie să rezolvați această problemă în scriptul sursă.

    În ciuda acestor inconveniente minore, posibilitatea de a converti un fișier lot într-un executabil poate fi cu adevărat utilă.

    Link-uri

    Descărcați Asigurați-EXE din BAT Script de la Sysadmin Geek

    Descărcați unelte de comandă pentru 7-Zip

    Descarcă 7-Zip Advanced 7zSD SFX