If-Koubou

Pretvorite Skupno (BAT) skriptu izvršnoj (EXE) datoteci

Pretvorite Skupno (BAT) skriptu izvršnoj (EXE) datoteci (Kako da)

Kada dođete do njega, batch datoteke i izvršne datoteke rade uglavnom na isti način. Obje su jednostavno skup uputa i logika za Windows izvršavanje. Pa zašto biste htjeli pretvoriti batch datoteku u izvršnu datoteku ako su u osnovi isti? Evo nekoliko razloga:

  • Prenosivost - možete dodati dodatne alate u EXE datoteku koja ovisi o batch datoteci.
  • Zaštita - EXE pruža zaštitu vašem izvornom skriptu kako bi se osiguralo da se ne mijenja nehotice.
  • Praktičnost - Izvršne datoteke mogu se prikvačiti na Windows Start Menu i / ili Windows 7 Task Bar.

Pomoću skripte u nastavku možete jednostavno izraditi vlastitu izvršnu datoteku iz batch datoteke, zajedno s potrebnim ugrađenim alatima.

Konfiguracija

Ova skripta iskoristila je 7-Zip Advanced SFX (SelF eXtractor) za grupiranje i izvršavanje batch datoteke s bilo kojim uključenim alatima. Dakle, trebat ćete preuzeti (veze na kraju) te ih izdvojiti u jedan direktorij.

Nakon što sve preuzmete, postavite varijablu 'PathTo7Zip' u skriptu na mjesto na kojem su te datoteke preuzete.

Skripta

ECO OFF ECHO Izraditi EXE iz BAT ECHO Napisao: Jason Faulkner ECHO SysadminGeek.com ECHO. JEKA. REM Upotreba: REM MakeExeFromBat BatFileToConvert [IncludeFile1] [IncludeFile2] [...] REM REM zahtijevane parametre: REM BatFileToConvert REM izvor batch datoteka koja se koristi za izradu izlazne Exe datoteke. REM REM Opcionalni parametri: REM IncludeFile REM Dodatne datoteke za uključivanje u Exe datoteku. REM Možete uključiti vanjske alate koji se koriste batch datoteka tako da su dostupni na izvršnom stroju. SETLOCAL REM Konfiguracija (nema navodnika): SET PathTo7Zip = REM ---- Ne mijenjati ništa ispod ove linije SET SETFILE = "% ~ n1.exe" SET SourceFiles = "% TEMP% MakeEXE_files.txt" SET Config = "% TEMP% MakeEXE_config.txt" SET Izvor7ZFile = "% Temp% MakeEXE.7z" REM Ukloni postojeće datoteke EXISTENCE% OutputFile% DEL% OutputFile% REM Build izvorna arhiva ECHO "% ~ dpnx1">% SourceFiles%: AddInclude Ako je % 2 ==  GOTO EndInclude ECHO "% ~ dpnx2" >>% SourceFiles% SHIFT / 2 GOTO DodajInclude: EndInclude "% PathTo7Zip% 7za.exe" a% Source7ZFile% @% SourceFiles% !; 'Instalacija' UTF-8! >% Config% ECHO RunProgram = "% ~ nx1" >>% konfig.% ECHO;; @ InstallEnd @! % Config% REM Izgradite EXE COPY / B "% PathTo7Zip% 7zsd.sfx" +% Konfig% +% Source7ZFile%% IzlazFile% REM Očistite ako postoji% SourceFiles% DEL% SourceFiles% IF EXIST% Config% DEL% Config % Ako postoji% Source7ZFile% DEL% Source7ZFile% ENDLOCAL

Zaključak

Važno je napomenuti da dok dobivena datoteka radi točno kao izvorna BAT datoteka, to nije pravi seriju izvršne konverzije. Rezultirajuća datoteka je EXE, no namijenjena je za samostalnu instalaciju. Kada izvršite rezultirajuću EXE datoteku, postupak ide ovako:

  1. Sadržaj EXE datoteke ekstrahira se u prolazni direktorij.
  2. Čitamo konfiguracijsku datoteku koju generira skripta.
  3. Batch datoteka koja se nalazi u EXE datoteci izvodi se u novom prozoru naredbi.
  4. Kada završite, datoteke temp se uklanjaju.

Na sustavu Windows Vista i novim operativnim sustavima, nakon pokretanja skripte, možete vidjeti sljedeću poruku. Nakon odabira 'Ovaj program je ispravno instaliran', okvir za poruke neće se prikazati u budućnosti za ovu datoteku.

Budući da se EXE datoteka pokreće u novom prozoru, tipičan način bilježenja izlaza (pomoću znaka ">") neće funkcionirati kako se očekuje. Da biste prijavili izlaz, trebali biste to riješiti nativno u izvornoj skripti.

Unatoč ovim manjim neugodnostima, sposobnost pretvorbe batch datoteka u izvršnu datoteku može doista doći u ruci.

linkovi

Preuzmite EXE iz BAT skripte iz Sysadmin Geek

Preuzmite alat za naredbeni red 7-Zip

Preuzmite 7-Zip Advanced 7zSD SFX