Când ajungi 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ă funcționează în mod esențial același lucru? Iată câteva motive:
Cu scriptul de mai jos, vă puteți construi cu ușurință propriul fișier executabil dintr-un fișier batch, completat cu și instrumentele necesare încorporate.
Acest script folosește un SFX avansat 7-Zip (SelF eXtractor) pentru a lega și executa fișierul batch cu toate instrumentele 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 script în locația în care au fost descărcate aceste fișiere.
@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 Sursa lot batch 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 citare): SET PathTo7Zip = REM ---- Nu modificați nimic sub această linie ---- SET OutputFile = "% ~ n1.exe" SET SursaFiles = "% TEMP% MakeEXE_files.txt" SET Config = "% TEMP% MakeEXEXE_config.txt" SET Source7ZFile = "% Temp% MakeEXE.7z" REM Eliminați fișierele existente DACĂ EXIST% OutputFile% DEL% OutputFile% REM Crearea arhivei sursă ECHO "% ~ dpnx1">% SourceFiles% Dacă % 2 == GOTO EndInclude 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 Construct EXE COPY / B "% PathTo7Zip% 7zsd.sfx" +% Config% +% Sursa7ZFile%% OutputFile% REM Curăță dacă EXIST% SourceFiles% DEL% SourceFiles% DACĂ EXISTĂ% CONFIG% DEL% Config % DACĂ EXIST% Source7ZFile% DEL% Source7ZFile% ENDLOCAL
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 care rezultă, procesul are loc astfel:
În Windows Vista și în noile sisteme de operare, este posibil să vedeți următoarea casetă de mesaje după executarea scriptului. După selectarea "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 conform așteptărilor. În scopul de a înregistra output-ul, va trebui să vă ocupați de acest lucru nativ în scriptul sursă.
În ciuda acestor inconveniente minore, posibilitatea de a converti un fișier batch într-un executabil poate fi într-adevăr utilă.
Descărcați Asigurați EXE din BAT Script de la Sysadmin Geek
Descărcați instrumentul de comandă pentru 7-Zip
Descarcă 7-Zip Advanced 7zSD SFX