30Aug
Amikor leérsz, a kötegelt fájlok és a végrehajtható fájlok nagyjából ugyanúgy működnek. Mindkettő egyszerűen egy sor utasítás és logika a Windows futtatásához. Tehát miért akarsz átalakítani egy kötegelt fájlt egy végrehajthatónak, ha alapvetően ugyanazt csinálják?Íme néhány ok:
- hordozhatóság - további eszközöket is tartalmazhat az EXE fájlban, amelyre a kötegfájl függ.
- védelem - Az EXE biztosítja a forrásszkript védelmét annak biztosítására, hogy véletlenül ne módosítsa.
- Kényelem - A végrehajtható fájlok a Windows Start menühöz és / vagy a Windows 7 Feladatbillentyűhöz rögzíthetők.
Az alábbi parancsfájl segítségével könnyen elkészítheti saját végrehajtható fájlját egy kötegelt fájlból, kiegészítve a szükséges beágyazott eszközökkel.
konfiguráció
Ez a parancsfájl kihasználja a 7-Zip Advanced SFX( SelF eXtractor) előnyeit, hogy összegyűjtse és végrehajtsa a kötegelt fájlt a mellékelt eszközökkel. Tehát letölteni kell( linkek a végén), és kivonni őket egyetlen könyvtárba.
Miután mindent letöltött, állítsa be a 'PathTo7Zip' változót a szkriptben arra a helyre, ahol ezeket a fájlokat letöltötték.
A szkript
@ECHO OFF ECHO Készítsen EXE-t a BAT ECHO-tól Írta: Jason Faulkner ECHO SysadminGeek.com ECHO.VISSZHANG.REM Használat: REM MakeExeFromBat BatFileToConvert [IncludeFile1] [IncludeFile2] [...] REM REM Szükséges paraméterek: REM BatFileToConvert REM Forrás batch fájl, amely a kimeneti Exe fájl előállításához használható.REM REM Opcionális paraméterek: REM IncludeFile REM További fájlok az Exe fájlba. REM A batch fájl által használt külső eszközöket is felveheti, így elérhetők a végrehajtó gépen. SETLOCAL REM Konfiguráció( nincs idézőjel): SET PathTo7Zip = REM ---- Ne módosítson semmit a sor alatt! ---- SET OutputFile = "% ~ n1.exe" SET SourceFiles = "% TEMP% MakeEXE_files.txt" SETConfig = "% TEMP% MakeEXE_config.txt" SET Forrás7ZFile = "% Temp% MakeEXE.7z" REM A meglévő fájlok eltávolítása IF EXIST% OutputFile% DEL% OutputFile% REM Build forrás archívum 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 Build konfigurációs fájl ECHO;; @ Install @! UTF-8!& Gt;% Config% ECHO RunProgram = "% ~ nx1" & gt;% Config% ECHO; @ InstallEnd @!& Gt; & gt;% Config% REM Build EXE COPY / B% PathTo7Zip% 7zsd.sfx +% Config% +% Source7ZFile%% OutputFile% REM Tisztítás IF EXIST% Forrásfájlok% DEL% SourceFiles% IF EXIST% Config% DEL% Config% IFEXIST% Source7ZFile% DEL% Source7ZFile% ENDLOCALKövetkeztetés
Fontos megjegyezni, hogy míg a létrehozott fájl pontosan ugyanaz, mint a forrás BAT fájl, ez nem egy igazi köteg a végrehajtható konverzióhoz. Az így kapott fájl EXE, de önkitevő telepítőként való használatra készült. Amikor végrehajtja az eredményül kapott EXE fájlt, a folyamat így megy:
- Az EXE fájl tartalma a temp könyvtárba kerül.
- A szkript által létrehozott konfigurációs fájl olvasható.
- Az EXE fájlban található kötegfájl egy új parancsablakban fut.
- A befejezése után a temp fájlok eltávolításra kerülnek.
Windows Vista és új operációs rendszerek esetén a szkript futtatása után a következő üzenetablak jelenhet meg. Miután kiválasztotta "Ez a program helyesen van telepítve", a jövőben nem jelenik meg az üzenet mező.
Mivel az EXE fájl egy új ablakban indul el, a kimenet naplózásának tipikus módja( a '& gt;' karakterrel) nem fog működni a várt módon. A kimenet naplózásához a forráskódban natív módon kell kezelnie.
Annak ellenére, hogy ezek a kisebb kellemetlenségek, képesek arra, hogy egy kötegelt fájlt végrehajthatóvá alakítsanak, valóban hasznos lehet.
Linkek
Letöltés Készítsen EXE-t a BAT scriptből a Sysadmin Geek
-ből Download 7-Zip parancssori eszköz
Letöltés 7-Zip Advanced 7zSD SFX