30Aug

Paverskite partijos( BAT) scenarijų į vykdomąjį( EXE) failą

Kai atsirasite, partijos failai ir vykdomieji failai veikia gana panašiai. Abi yra tiesiog instrukcijų ir logikos rinkinys "Windows" paleisti. Taigi kodėl norite konvertuoti partijos rinkmeną į vykdomąjį failą, jei jie iš esmės veikia tą patį?Štai keletas priežasčių:

  • Portability - į EXE failą galite įtraukti papildomus įrankius, nuo kurių priklausomas paketas.
  • Protection - EXE užtikrina jūsų šaltinio scenarijaus apsaugą, kad nebūtų netyčia pakeista.
  • Patogumas - vykdomus failus galima prisegti prie "Windows" meniu ir / arba "Windows 7" užduočių juostos.

Naudodami toliau pateiktą scenarijų, galite lengvai sukurti savo vykdomąjį failą iš serijinio failo, kartu su reikalingais įterptais įrankiais.

konfigūracija

Šis scenarijus naudoja 7-Zip pažangią SFX( SelF eXtractor), kad sujungtų ir vykdytų paketinį failą su visais įtrauktais įrankiais. Taigi, jums reikės atsisiųsti( nuorodos, pateiktos pabaigoje) ir išgauti juos į vieną katalogą.

Kai atsisiųsite viską, nustatykite kintamąjį "PathTo7Zip" scenarijuje į vietą, kurioje šie failai buvo atsisiųsti.

Script

@ECHO OFF ECHO Padarykite EXE iš BAT ECHO Parašė: Jasonas Faulkneris ECHO SysadminGeek.com ECHO.ECHO.REM naudojimas: REM MakeExeFromBat BatFileToConvert [IncludeFile1] [IncludeFile2] [...] REM REM Reikalingi parametrai: REM BatFileToConvert REM šaltinio paketinis failas, naudojamas generuoti išvesties Exe failą.REM REM Papildomi parametrai: REM IncludeFile REM Papildomi failai įtraukti į Exe failą.REM. Jūs galite įtraukti išorinius įrankius, kuriuos naudoja partijos rinkmena, kad jie būtų prieinami vykdančiojoje mašinoje. SETLOCAL REM konfigūracija( nereikia jokių kabučių): SET PathTo7Zip = REM ---- Nieko keisti žemiau šios linijos ---- SET OutputFile = "% ~ n1.exe" SET SourceFiles = "% TEMP% MakeEXE_files.txt" SETConfig = "% TEMP% MakeEXE_config.txt" SET Source7ZFile = "% Temp% MakeEXE.7z" REM Pašalinti esamus failus IF EXIST% OutputFile% DEL% OutputFile% REM Sukurkite šaltinio archyvą ECHO "% ~ dpnx1" & gt;% SourceFiles%: AddInclude IF{ % 2} =={ } GOTO EndInclude ECHO "% ~ dpnx2" & gt; & gt;% SourceFiles% SHIFT / 2 GOTO AddInclude: EndInclude "% PathTo7Zip% 7za.exe" a% Source7ZFile% @% SourceFiles% REM Sukurkite konfigūracijos failą ECHO; @ @ Install @! UTF-8!& gt;% Config% ECHO RunProgram = "% ~ nx1" & gt; & gt;% Config% ECHO;! @ InstallEnd @!& gt; & gt;% Config% REM Sukurkite EXE COPY / B "% PathTo7Zip% 7zsd.sfx" +% Config% +% Source7ZFile%% OutputFile% REM Išvalyti IF EXIST% SourceFiles% DEL% SourceFiles% IF EXIST% Config% DEL% Config% IFEXIST% Source7ZFile% DEL% Source7ZFile% ENDLOCAL

Išvada

Svarbu pažymėti, kad nors gaunamas failas yra toks pat kaip ir šaltinio BAT failas, tai nėra tikroji partija vykdomajai konversijai. Gautas failas yra EXE, tačiau jis skirtas naudoti savarankiškai ištraukiantiems montuotojams. Kai vykdote gautą EXE failą, procesas vyksta panašiai:

  1. EXE failo turinys išgaunamas į temp katalogą.
  2. Skaityta scenarijaus sukurta konfigūravimo faile.
  3. Rinkmena, esanti EXE byloje, vykdoma naujame komandų lange.
  4. Kai baigsite, temp failai bus pašalinti.

"Windows Vista" ir naujos operacinės sistemos versijose po scenarijaus paleidimo galite pamatyti šį pranešimą.Pasirinkę "Ši programa teisingai įdiegta", šio failo ateityje pranešimas nebus rodomas.

Kadangi EXE failas paleidžiamas naujame lange, tipinis būdas įvesties rezultatams( naudojant "& gt;" simbolį) neveiks, kaip tikėtasi. Kad galėtumėte prisijungti prie produkcijos, jums reikės elgtis su naujuoju šaltinio scenarijaus.

Nepaisant šių nepilnų nepatogumų, galimybė konvertuoti partijos rinkmeną į vykdomąjį gali iš tikrųjų būti naudinga.

Nuorodos

Parsisiųsti Padaryti EXE iš BAT scenarijų iš "Sysadmin Geek"

Atsisiųsti 7-Zip komandinės eilutės įrankį

Parsisiųsti 7-Zip Advanced 7zSD SFX