30Aug

Pretvorite skripto Batch( BAT) v datoteko, ki jo je mogoče izvršiti( EXE)

click fraud protection

Ko prideš do tega, batch datoteke in izvršljive datoteke delajo precej podobno. Obe sta preprosto nabor navodil in logika za izvedbo operacijskega sistema Windows. Zakaj bi torej želeli pretvoriti paketno datoteko v izvedljivo, če v bistvu delajo enako? Tukaj je nekaj razlogov: Prenosljivost

  • - v datoteko EXE lahko dodate še dodatna orodja, od katerih je odvisna paketna datoteka.
  • Zaščita - EXE zagotavlja zaščito vašega izvornega skripta, da se zagotovi, da ni nenamerno spremenjena.
  • Udobje - izvedljive datoteke lahko pritrdite na Windows Start Menu in / ali Windows 7 task bar.

S spodnjim skriptom lahko enostavno izdelate svojo izvedljivo datoteko iz serijske datoteke, skupaj s potrebnimi in vgrajenimi orodji.

Konfiguracija

Ta skript izkoristi 7-Zip napredni SFX( SelF eXtractor), da združite in izvršite paketno datoteko z vsemi vključenimi orodji. Torej boste morali prenesti( povezave na koncu) te in jih izvleči v en sam imenik.

Ko vse prenesete, nastavite spremenljivko "PathTo7Zip" v skripti na mesto, kjer so te datoteke prenesene.

instagram viewer

Scenarij

@ECHO OFF ECHO izdelava EXE iz BAT ECHO Prispeval: Jason Faulkner ECHO SysadminGeek.com ECHO.ECHO.REM Uporaba: REM MakeExeFromBat BatFileToConvert [IncludeFile1] [IncludeFile2] [...] REM Zahtevani parametri: REM BatFileToConvert batch datoteko REM Source, ki jo lahko uporabite za izdelavo izhodne datoteke Exe. REM REM Opcijski parametri: REM IncludeFile REM Dodatne datoteke, ki jih želite vključiti v datoteko Exe. REM Lahko vključite zunanja orodja, ki jih uporablja batch datoteka, tako da so na voljo na izvrševalnem računalniku. SETLOCAL REM Konfiguracija( ni potrebnih ponudb): SET PathTo7Zip = REM ---- Ne spreminjaj ničesar pod to vrstico ---- SET OutputFile = "% ~ n1.exe" SET SourceFiles = "% TEMP% MakeEXE_files.txt" SETConfig = "% TEMP% MakeEXE_config.txt" SET Source7ZFile = "% Temp% MakeEXE.7z" REM Odstrani obstoječe datoteke IF EXIST% OutputFile% DEL% OutputFile% REM Build izvorni arhiv ECHO "% ~ dpnx1" & gt;% SourceFiles%: AddInclude IF{ % 2} =={ } GOTO EndInclude ECHO "% ~ dpnx2" & gt;% SourceFiles% SHIFT / 2 GOTO AddInclude: EndInclude "% PathTo7Zip% 7za.exe" a% Source7ZFile% @% SourceFiles% REM Zgradite konfiguracijsko datoteko ECHO;! @ Namesti @! UTF-8!& gt;% Config% ECHO RunProgram = "% ~ nx1" & gt; & gt;% Config% ECHO;! @ NamestiEnd @!& gt;% Config% REM Zgradite EXE COPY / B "% PathTo7Zip% 7zsd.sfx" +% Config% +% Source7ZFile%% OutputFile% REM Očisti IF EXIST% SourceFiles% DEL% SourceFiles% IF EXIST% Config% DEL% Config% IFEXIST% Source7ZFile% DEL% Source7ZFile% ENDLOCAL

Zaključek

Pomembno je omeniti, da medtem ko nastala datoteka poteka popolnoma enaka kot izvorna datoteka BAT, to ni resnična serija izvedljive pretvorbe. Nastala datoteka je EXE, vendar je namenjena uporabi za samonaključne monterje. Ko izvršite izvirno datoteko EXE, gre za nekaj takega:

  1. Vsebina datoteke EXE se izvleče v imenik temp.
  2. Datoteka za konfiguriranje, ustvarjena s skriptom, se prebere.
  3. Paketna datoteka, vsebovana v datoteki EXE, se izvede v novem ukaznem oknu.
  4. Ko končate, so začasne datoteke odstranjene.

V operacijskem sistemu Windows Vista in novih operacijskih sistemih boste po zagonu skripta videli naslednje polje za sporočila. Ko izberete 'Ta program pravilno nameščen', polje za sporočila v prihodnosti ne bo prikazano v tej datoteki.

Ker se datoteka EXE začenja v novem oknu, tipičen način beleženja izhoda( z znakom »& gt;«) ne bo deloval, kot je bilo pričakovano.Če želite prijaviti izhod, morate to ravnati v svojem izvornem skriptu.

Kljub tem manjšim neprijetnostim, lahko pretvorite paketno datoteko v izvedljivo datoteko.

Povezave

Download Izvedite EXE iz BAT Scripta iz Sysadmin Geek

Prenesite 7-Zip Command Line Tool

Prenos 7-Zip Advanced 7zSD SFX