30Aug

Konverteeri Batch( BAT) skript käivitatavale( EXE-failile)

click fraud protection

Kui jõuate selle juurde, siis toimivad partitsed failid ja käivitatavad failid suhteliselt samamoodi. Mõlemad on lihtsalt Windowsi juhiste ja loogika komplekt. Miks peaksite siis partitsioonifaili teisendama käivitatavale failile, kui nad sisuliselt töötavad sama? Siin on mõned põhjused:

  • Portability - võite EXE-failis lisada täiendavaid tööriistu, mis sõltuvad partii failist.
  • Protection - EXE pakub teie lähtekripti kaitset, et tagada selle tahtmatu modifitseerimine.
  • mugavus - käivitatavaid faile saab kinnitada Windowsi Start-menüüsse ja / või Windows 7 tööriistaribale.

Alloleva skripti abil saate hõlpsasti luua oma käivitatava faili partiifailist koos vajalike varjatud tööriistadega.

konfiguratsioon

See skript kasutab 7-Zip täiustatud SFX-i( SelF eXtractor), et komplekteerida ja käivitada partiifaili mis tahes kaasatud tööriistadega. Nii et peate allalaadimiseks( lõpus olevad lingid) need üles laadima ja need välja võtma ühte kataloogi.

Kui olete kõik alla laadinud, määra skriptis olev muutuja "PathTo7Zip" asukohta, kus need failid on alla laaditud.

instagram viewer

Script

@ECHO OFF ECHO EXE BAT ECHO'st Kirjutanud: Jason Faulkner ECHO SysadminGeek.com ECHO.ECHO.REM Kasutamine: REM MakeExeFromBat BatFileToConvert [IncludeFile1] [IncludeFile2] [...] REM REM Vajalikud parameetrid: REM BatFileToConvert REM Allika partitsifail, mida kasutatakse väljundi Exe-faili tootmiseks. REM REM Valikparameetrid: REM IncludeFile REM lisafailid, mida Exe-faili lisada. REM Võite lisada partiifailina kasutatud väliseid tööriistu, nii et need oleksid täidesaatva masina käsutuses. SETLOCAL REM konfiguratsioon( pole hinnapakkumisi vaja): SET PathTo7Zip = REM ---- Ärge muutke midagi selle rea alla ---- SET OutputFile = "% ~ n1.exe" SET SourceFiles = "% TEMP% MakeEXE_files.txt" SETConfig = "% TEMP% MakeEXE_config.txt" SET Source7ZFile = "% Temp% MakeEXE.7z" REM Eemalda olemasolevad failid IF EXIST% OutputFile% DEL% OutputFile% REM Looge allika arhiiv ECHO "% ~ dpnx1" & gt;% SourceFiles%: AddInclude IF{ % 2} =={ } GOTO EndInclude ECHO "% ~ dpnx2" & gt; & gt;% SourceFiles% SHIFT / 2 GOTO AddInclude: EndInclude "% PathTo7Zip% 7za.exe"% Source7ZFile% @% SourceFiles% REM Ehitage konfiguratsioonifail ECHO; @ @ Install @! UTF-8!& gt;% Config% ECHO RunProgram = "% ~ nx1" & gt; & gt;% Config% ECHO;! @ InstallEnd @!& gt;% Config% REM Build EXE COPY / B "% PathTo7Zip% 7zsd.sfx" +% Config% +% Source7ZFile%% OutputFile% REM Puhastamine IF EXIST% SourceFiles% DEL% SourceFiles% IF EXIST% Config% DEL% Config% IFEXIST% Source7ZFile% DEL% Source7ZFile% ENDLOCAL

Kokkuvõte

Oluline on meeles pidada, et kuigi saadud fail käib täpselt sama mis lähtekoodi BAT-fail, ei ole see käivitatava versiooni tegelik partii. Tekkinud fail on EXE, kuid seda kavatsetakse kasutada ise väljavõtvate paigaldajate jaoks. Kui tulemuseks on EXE-fail, käivitatakse protsess selliselt:

  1. EXE-faili sisu ekstraheeritakse temp kataloogi.
  2. Skripti genereeritud konfiguratsioonifail loetakse.
  3. EXE-failis sisalduv partifail käivitatakse uues käsureaknas.
  4. Pärast lõpetamist eemaldatakse temp failid.

Windows Vista ja uute operatsioonisüsteemide puhul võite pärast skripti käivitamist näha järgmist sõnumikku. Pärast seda, kui valisite "See programm on õigesti paigaldatud", ei kuvata selle faili jaoks tulevikus sõnumikut.

Kuna EXE-fail käivitatakse uues aknas, ei pruugi tavapärane väljundi logimine( kasutades & gt; char) seda ootuspäraselt. Väljundi sisselogimiseks peate oma lähte-skripti käsitlema seda algupäraselt.

Hoolimata vähestest ebamugavustest, on suuteline partiifaili käivitatavale failile teisendama, võib tõesti olla kasulik.

Lingid

Laadi alla Tee EXE BAT-skriptist Sysadmin Geekist

Laadige alla 7-Zip Command Line Tool

Lae alla 7-Zip Advanced 7zSD SFX