30Aug
Când ajungeți la el, 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: portabilitatea
- - puteți include instrumente suplimentare în fișierul EXE pe care depinde fișierul lot. Protecția
- - un EXE oferă protecție pentru scriptul sursă pentru a vă asigura că nu este modificat din neatenție.
- Comoditate - 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ția
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-ul la locația în care au fost descărcate aceste fișiere.
Script
@ECHO 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" SETConfig = "% TEMP% MakeEXEXE_config.txt" SET Source7ZFile = "% Temp% MakeEXE.7z" REM Eliminați fișierele existente dacă EXIST% OutputFile% DEL% OutputFile% REM Creați arhiva sursă ECHO "% ~ dpnx1" & gt;% SourceFiles%: AddInclude DACĂ{ % 2} =={ } GOTO EndInclude ECHO "% ~ dpnx2" & gt; & gt;% SourceFiles% SHIFT / 2 GOTO AddInclude: EndInclude "% PathTo7Zip% 7za.exe" a% Source7ZFile% @% SourceFiles% REM Construiți fișierul de configurare ECHO;! @ Install @! UTF-8!& Gt;% Config% ECHO RunProgram = "% ~ nx1" & gt; & gt;% Config% ECHO;! @ InstallEnd @!& Gt; & gt;% Config% REM Construiți EXE COPY / B "% PathTo7Zip% 7zsd.sfx" +% Config% +% Sursă7ZFile%% OutputFile% REM Curățați dacă există EXIST% SourceFiles% DEL% SourceFiles% DACĂ EXISTĂ% CONFIG% DEL% Config% IFEXIST% Source7ZFile% DEL% Source7ZFile% ENDLOCALConcluzie
Este important să rețineți că, în timp ce fișierul rezultat rulează 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 merge ceva similar:
- Conținutul fișierului EXE este extras în directorul temp.
- Se citește fișierul de configurare generat de script.
- Fișierul lot conținut în fișierul EXE este executat într-o nouă fereastră de comandă.
- Odată terminat, fișierele temp 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ă 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ă, modul tipic de ieșire a înregistrării( utilizând caracterul '& gt' ') nu va funcționa conform așteptărilor.În scopul de a înregistra rezultatul, va trebui 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 de la BAT Script de la Sysadmin Geek
Descărcați Instrumentul pentru linia de comandă 7-Zip
Descărcați 7-Zip Advanced 7zSD SFX