30Aug

Muunnetaan erä( BAT) -skripti suoritettavaksi( EXE) -tiedostoon

Kun pääset alas, erätiedostot ja suoritustiedostot toimivat melko samalla tavalla. Molemmat ovat vain joukko ohjeita ja logiikkaa Windowsille. Joten miksi haluat muuntaa erätiedoston suoritettavaksi, jos ne toimivat olennaisesti samoina? Seuraavassa on muutamia syitä:

  • -siirrettävyys - voit lisätä lisävälineitä EXE-tiedostoon, joka riippuu erätiedostosta.
  • Protection - EXE suojaa lähdekieliä varmistaaksesi, että sitä ei muuteta vahingossa.
  • Mukavuus - Suoritettavat tiedostot voidaan kiinnittää Windowsin Käynnistä-valikkoon ja / tai Windows 7-tehtäväpalkkiin.

Alla olevan komentosarjan avulla voit helposti rakentaa oman suoritustiedoston erätiedostosta täydellisinä ja tarvittavin upotetuin työkaluin.

-kokoonpano

Tämä skripti hyödyntää 7-Zip Advanced SFX: n( SelF eXtractor) yhdistää ja toteuttaa erätiedoston mukana toimitetuilla työkaluilla. Joten sinun täytyy ladata( linkit tarjotaan lopussa) nämä ja purkaa ne yhteen hakemistoon.

Kun olet ladannut kaiken, aseta 'PathTo7Zip' -muuttujan komentosarjaan paikkaan, johon nämä ladatut tiedostot ovat.

Script

@ ECO OFF ECHO Tee EXE BAT ECHOstä Kirjoittanut: Jason Faulkner ECHO SysadminGeek.com ECHO.KAIKU.REM Käyttö: REM MakeExeFromBat BatFileToConvert [IncludeFile1] [IncludeFile2] [...] REM REM Vaaditut parametrit: REM BatFileToConvert REM Lähdetiedoston käytettäväksi tuottamaan Exe-tiedoston. REM REM Valinnaiset parametrit: REM IncludeFile REM Muita tiedostoja, jotka on sisällytettävä Exe-tiedostoon. REM Voit lisätä erätiedoston käyttämäjä ulkoisia työkaluja, jotta ne ovat saatavilla suoritettavassa koneessa. SETLOCAL REM Configuration( ei lainattuja): SET PathTo7Zip = REM ---- Älä muuta mitään tämän rivin alapuolella ---- SET OutputFile = "% ~ n1.exe" SET SourceFiles = "% TEMP% MakeEXE_files.txt" SETREM Poista olemassa olevat tiedostot IF EXIST% OutputFile% DEL% OutputFile% REM Luo lähdekoodi ECHO "% ~ dpnx1" & gt; Config = "% TEMP% MakeEXE_config.txt" SET Lähde7ZFile = "% Temp% MakeEXE.7z"% SourceFiles%: LisääInclude IF{ % 2} =={ } GOTO EndInclude ECHO "% ~ dpnx2" & gt; & gt;% SourceFiles% SHIFT / 2 GOTO LisääInclude: EndInclude "% PathTo7Zip% 7za.exe"% Source7ZFile% @% SourceFiles% REM Rakenna konfigurointitiedosto ECHO;; @ Asenna @! UTF-8!& Gt;% Config% ECHO RunProgram = "% ~ nx1" & gt; & gt;% Config% ECHO; @ InstallEnd @!& Gt; & gt;% Config% REM Rakenna EXE COPY / B "% PathTo7Zip% 7zsd.sfx" +% Config% +% Source7ZFile%% OutputFile% REM Puhdista IF EXIST% SourceFiles% DEL% SourceFiles% JOS OLET% Config% DEL% Config% IFEXIST% Source7ZFile% DEL% Source7ZFile% ENDLOCAL

Päätelmä

On tärkeää huomata, että vaikka tuloksena oleva tiedosto toimii täsmälleen samalla tavalla kuin lähde BAT-tiedosto, tämä ei ole todellinen suoritettavan muuntamisen erä.Tuloksena oleva tiedosto on EXE, mutta se on tarkoitettu käytettäväksi itse uuttaa asentajille. Kun suoritat tuloksena olevan EXE-tiedoston, prosessi menee jotain tällaiseen:

  1. EXE-tiedoston sisältö puretaan temp-hakemistoon.
  2. Skriptin luomaa konfigurointitiedostoa luetaan.
  3. EXE-tiedostossa oleva erätiedosto suoritetaan uudessa komentoikkunassa.
  4. Kun olet valmis, temp-tiedostot poistetaan.

Windows Vistassa ja uusissa käyttöjärjestelmissä saattaa näkyä seuraava ilmoitusruutu komentosarjan suorittamisen jälkeen. Kun valitset "Tämä ohjelma on asennettu oikein", ilmoitusruutu ei tule näkyviin tiedoston tulevaisuudessa.

Koska EXE-tiedosto käynnistyy uudessa ikkunassa, tyypillinen tapa kirjata lähdön( käyttämällä '& gt;' char) ei toimi odotetulla tavalla. Jotta kirjaa tuotos, sinun on käsiteltävä tätä luonnollisesti lähdekirjoitus.

Huolimatta näistä vähäisistä haitoista voi pystyä muuntamaan erätiedosto suoritustiedostoon todella hyödylliseksi.

Linkit

Lataa Make EXE BAT Scriptistä Sysadmin Geek

: stä Lataa 7-Zip komentorivin työkalu

Lataa 7-Zip Advanced 7zSD SFX