تحويل برنامج نصي دفعي (BAT) إلى ملف Executable (EXE)
عند الوصول إليها ، تعمل الملفات الدفعية والملفات القابلة للتنفيذ بنفس الطريقة تقريبًا. كلاهما عبارة عن مجموعة من الإرشادات والمنطق لتنفيذ Windows. فلماذا تريد تحويل ملف دفعي إلى ملف قابل للتنفيذ إذا كان يعمل بشكل أساسي؟ لدينا هنا بعض الأسباب:
- إمكانية النقل - يمكنك تضمين أدوات إضافية في ملف EXE الذي يعتمد عليه الملف الدفعي.
- الحماية - يوفر EXE حماية للبرنامج النصي المصدر الخاص بك لضمان عدم تعديله دون قصد.
- الملاءمة - يمكن تثبيت الملفات القابلة للتنفيذ على قائمة ابدأ في Windows و / أو شريط مهام Windows 7.
باستخدام البرنامج النصي أدناه ، يمكنك بسهولة إنشاء الملف القابل للتنفيذ الخاص بك من ملف دفعي ، كاملة مع والأدوات المضمنة المطلوبة.
ترتيب
يستفيد هذا البرنامج النصي من SFX المتقدم 7-Zip (SelF eXtractor) لتجميع وتنفيذ ملف الدُفعات مع أي أدوات مضمنة. لذلك سوف تحتاج إلى تنزيل (الروابط المقدمة في النهاية) واستخراجها في دليل واحد.
بعد الانتهاء من تنزيل كل شيء ، اضبط متغير "PathTo7Zip" في النص البرمجي على الموقع الذي تم تنزيل هذه الملفات عليه.
النص
ECHO OFF ECHO اجعل EXE من BAT ECHO تأليف: Jason Faulkner ECHO SysadminGeek.com ECHO. صدى صوت. REM Usage: REM MakeExeFromBat BatFileToConvert [IncludeFile1] [IncludeFile2] […] REM REM Required Parameters: REM BatFileToConvert REM Source file to use to output the output Exe file. REM REM معلمات اختيارية: REM IncludeFile REM ملفات إضافية لتضمينها في ملف Exe. REM ﯾﻣﮐﻧك ﺗﺿﻣﯾن أدوات ﺧﺎرﺟﯾﺔ ﯾﺳﺗﺧدﻣﮭﺎ اﻟﻣﻟف اﻟدﻓﻋﻲ ﺣﺗﯽ ﺗﮐون ﻣﺗﺎﺣﺔ ﻋﻟﯽ ﺟﮭﺎز اﻟﺗﻧﻔﯾذ. تكوين REM SETLOCAL (لا توجد علامات اقتباس مطلوبة): SET PathTo7Zip = REM ---- لا تقم بتعديل أي شيء أسفل هذا السطر ---- SET OutputFile = "٪ ~ n1.exe" SET SourceFiles = "٪ TEMP٪ MakeEXE_files.txt" SET Config = "٪ TEMP٪ MakeEXE_config.txt" SET Source7ZFile = "٪ Temp٪ MakeEXE.7z" REM إزالة الملفات الموجودة IF EXIST٪ OutputFile٪ DEL٪ OutputFile٪ REM إنشاء أرشيف المصدر ECHO "٪ ~ dpnx1">٪ SourceFiles٪: AddInclude IF ٪ 2 == GOTO EndInclude ECHO "٪ ~ dpnx2" >>٪ SourceFiles٪ SHIFT / 2 GOTO AddInclude: EndInclude "٪ PathTo7Zip٪ 7za.exe" a٪ Source7ZFile٪ @٪ SourceFiles٪ REM إنشاء ملف التكوين ECHO .! @ تركيب @ UTF-8! >٪ Config٪ ECHO RunProgram = "٪ ~ nx1">٪ Config٪ ECHO؛! @ InstallEnd @! >>٪ تكوين٪ REM إنشاء نسخ / B "٪ PathTo7Zip٪ 7zsd.sfx" +٪ Config٪ +٪ Source7ZFile٪٪ OutputFile٪ REM تنظيف لأعلى IF EXIST٪ SourceFiles٪ DEL٪ SourceFiles٪ IF EXIST٪ Config٪ DEL٪ Config ٪ إذا كان EXIST٪ Source7ZFile٪ DEL٪ Source7ZFile٪ ENDLOCAL
استنتاج
من المهم ملاحظة أنه بينما يتم تشغيل الملف الناتج تمامًا مثل الملف BAT المصدر ، فإن هذه ليست دفعة حقيقية للتحويل القابل للتنفيذ. الملف الناتج هو EXE ، ومع ذلك المقصود لاستخدامه في المثبتات الاستخراج الذاتي. عندما تقوم بتنفيذ ملف EXE الناتج ، فإن العملية تسير على النحو التالي:
- يتم استخراج محتويات ملف EXE إلى دليل temp.
- تتم قراءة ملف التكوين الذي تم إنشاؤه بواسطة البرنامج النصي.
- يتم تنفيذ ملف الدُفعات الموجود في ملف EXE في إطار أوامر جديد.
- بمجرد الانتهاء ، تتم إزالة الملفات المؤقتة.
في نظام التشغيل Windows Vista ونظام التشغيل الجديد ، قد ترى مربع الرسالة التالي بعد تشغيل البرنامج النصي. بعد تحديد "تثبيت هذا البرنامج بشكل صحيح" ، لن يتم عرض مربع الرسالة في المستقبل لهذا الملف.
نظرًا لأن ملف EXE يتم تشغيله في إطار جديد ، فلن تعمل الطريقة النموذجية لتسجيل المخرجات (باستخدام الحرف '>' char) كما هو متوقع. لتسجيل المخرجات ، ستحتاج إلى التعامل مع هذا البرنامج النصي الأصلي في البرنامج النصي المصدر الخاص بك.
على الرغم من هذه المضايقات الطفيفة ، يمكن أن تكون قادرة على تحويل ملف دفعي إلى قابل للتنفيذ في متناول اليد حقا.
الروابط
قم بتنزيل EXE من BAT Script من Sysadmin Geek
تنزيل أداة 7-Zip Command Line
تنزيل 7-Zip Advanced 7zSD SFX