/ / המרת סקריפט של אצווה (BAT) לקובץ הניתן להפעלה (EXE)

המרת סקריפט של אצווה (BAT) לקובץ הניתן להפעלה (EXE)

כשאתה מסתכם בזה, אצווה קבצים ו-קבצי הפעלה עובדים באופן דומה באותה צורה. שתיהן הן פשוט הוראות והגיון עבור ביצוע Windows. אז מדוע תרצה להמיר קובץ אצווה להפעלה אם למעשה הם עובדים אותו דבר? להלן מספר סיבות:

  • ניוד - אתה יכול לכלול כלים נוספים בקובץ EXE שלך שקובץ האצווה תלוי בהם.
  • הגנה - EXE מספק הגנה לסקריפט המקור שלך בכדי להבטיח שלא ישתנה בשוגג.
  • נוחות - ניתן להצמיד קבצים הניתנים להפעלה לתפריט ההתחלה של Windows ו / או לשורת המשימות של Windows 7.

בעזרת הסקריפט שלהלן תוכלו לבנות בקלות קובץ הפעלה משלכם מקובץ אצווה, להשלים עם כלים משובצים ונדרשים.

תצורה

תסריט זה מנצל 7-Zip מתקדםSFX (SelF eXtractor) כדי לאגד ולהפעיל את קובץ האצווה עם כל הכלים הכלולים. אז תצטרך להוריד (קישורים המסופקים בסוף) אלה ולחלץ אותם לספרייה יחידה.

לאחר שהורדת את הכל, הגדר את המשתנה 'PathTo7Zip' בסקריפט למיקום בו הורידו הקבצים האלה.

התסריט

@ECHO OFF
ECHO Make EXE From BAT
ECHO Written by: Jason Faulkner
ECHO SysadminGeek.com
ECHO.
ECHO.
REM Usage:
REM MakeExeFromBat BatFileToConvert [IncludeFile1] [IncludeFile2] [...]
REM
REM Required Parameters:
REM  BatFileToConvert
REM      Source batch file to use to produce the output Exe file.
REM
REM Optional Parameters:
REM  IncludeFile
REM      Additional files to include in the Exe file.
REM      You can include external tools used by the batch file so they are available on the executing machine.
SETLOCAL
REM Configuration (no quotes needed):
SET PathTo7Zip=
REM ---- Do not modify anything below this line ----
SET OutputFile="%~n1.exe"
SET SourceFiles="%TEMP%MakeEXE_files.txt"
SET Config="%TEMP%MakeEXE_config.txt"
SET Source7ZFile="%Temp%MakeEXE.7z"
REM Remove existing files
IF EXIST %OutputFile% DEL %OutputFile%
REM Build source archive
ECHO "%~dpnx1" > %SourceFiles%
:AddInclude
IF {%2}=={} GOTO EndInclude
ECHO "%~dpnx2" >> %SourceFiles%
SHIFT /2
GOTO AddInclude
:EndInclude
"%PathTo7Zip%7za.exe" a %Source7ZFile% @%SourceFiles%
REM Build config file
ECHO ;!@Install@!utf-8! > %Config%
ECHO RunProgram="%~nx1" >> %Config%
ECHO ;!@InstallEnd@! >> %Config%
REM Build EXE
COPY /B "%PathTo7Zip%7zsd.sfx" + %Config% + %Source7ZFile% %OutputFile%
REM Clean up
IF EXIST %SourceFiles% DEL %SourceFiles%
IF EXIST %Config% DEL %Config%
IF EXIST %Source7ZFile% DEL %Source7ZFile%
ENDLOCAL

סיכום

חשוב לציין כי בעוד שהתוצאההקובץ פועל בדיוק כמו קובץ ה- BAT המקורי, זה לא המרה אמיתית להמרה להפעלה. הקובץ שהתקבל הוא EXE, עם זאת הוא מיועד לשמש להתקנת מיצוי עצמית. כאשר אתה מבצע את קובץ ה- EXE שהתקבל, התהליך מתרחש כך:

  1. תוכן קובץ ה- EXE מופק לספריית הזמני.
  2. נקרא קובץ התצורה שנוצר על ידי התסריט.
  3. קובץ האצווה הכלול בקובץ EXE מבוצע בחלון פקודה חדש.
  4. לאחר סיום, קבצי הזמני מוסרים.

ב- Windows Vista ובמערכות הפעלה חדשות, ייתכן שתראה את ה-בעקבות תיבת ההודעות לאחר הפעלת הסקריפט. לאחר בחירת 'תוכנית זו מותקנת כראוי', תיבת ההודעות לא תוצג בעתיד עבור קובץ זה.

תמונה

מכיוון שקובץ EXE מופעל בחלון חדש,הדרך האופיינית ליציאת פלט (באמצעות תרשים '>' לא תעבוד כצפוי. על מנת לרשום את הפלט, יהיה עליכם לטפל בזה באופן טבעי בתסריט המקור שלכם.

למרות אי הנוחות הקלה הללו, היכולת להמיר קובץ אצווה להפעלה יכולה ממש להועיל.

קישורים

הורד הפוך את EXE מסקריפט BAT מ- Sysadmin Geek

הורד את כלי שורת הפקודה עם 7 Zip

הורד 7-Zip מתקדם 7zSD SFX