If-Koubou

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

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

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ä EXE-tiedostoon lisävälineitä, jotka riippuvat erätiedostosta.
  • Suojaus - EXE suojaa lähdekieliä varmistaaksesi, ettei sitä muuteta vahingossa.
  • Mukavuus - Suoritettavat tiedostot voidaan kiinnittää Windowsin Käynnistä-valikkoon ja / tai Windows 7 -tehtä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 (SelF eXtractor) yhdistää ja suorittaa 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 komentotiedostoon paikkaan, jossa nämä ladatut tiedostot ovat.

Käsikirjoitus

@ ECO OFF ECHO Tee EXE BAT ECHOsta Kirjoittanut: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. 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" SET Config = "% TEMP% MakeEXE_config.txt" SET Lähde7ZFile = "% Temp% MakeEXE.7z" REM Poista olemassa olevat tiedostot IF EXIST% OutputFile% DEL% OutputFile% REM Luo lähdekoodi ECHO "% ~ dpnx1">% SourceFiles%: AddInclude Jos % 2 ==  GOTO EndInclude ECHO "% ~ dpnx2" >>% SourceFiles% SHIFT / 2 GOTO LisääInclude: EndInclude "% PathTo7Zip% 7za.exe"% Source7ZFile% @% SourceFiles% ;! @ Asenna @! UTF-8! >% Config% ECHO RunProgram = "% ~ nx1" >>% Config% ECHO; @ InstallEnd @! >>% Config% REM Rakenna EXE COPY / B "% PathTo7Zip% 7zsd.sfx" +% Config% +% Source7ZFile%% OutputFile% REM Puhdista IF EXIST% SourceFiles% DEL% SourceFiles% JOS OLET% Config% DEL% Config % JOS OLET% Source7ZFile% DEL% Source7ZFile% ENDLOCAL

johtopäätös

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 näin:

  1. EXE-tiedoston sisältö viedään temp-hakemistoon.
  2. Skriptin luoma konfigurointitiedosto 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 tuotos (käyttäen '>' charia) 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ätiedoston suoritustiedostoon.

Linkit

Lataa Tee EXE BAT Scriptistä Sysadmin Geekista

Lataa 7-Zip Command Line Tool

Lataa 7-Zip Advanced 7zSD SFX