मैं एक Windows बैच स्क्रिप्ट को .exe में कैसे बदल सकता हूं?


24

मेरे पास एक काफी सरल बैच स्क्रिप्ट है जिसे मैं अपने फैंसी गेमिंग कीबोर्ड पर मैक्रो का उपयोग करके निष्पादित करना चाहूंगा। हालाँकि, SteelSeries Engine केवल मैक्रो बटन के साथ .exe फ़ाइल खोलने का समर्थन करता है। क्या स्क्रिप्ट को सरल निष्पादन योग्य में बदलने का कोई तरीका है?


2
बैश या बैच? वे उद्देश्य में समान होने के बावजूद काफी अलग हैं।
फ्रैंक थॉमस

1
आप AutoIt या AutoHotKey का भी उपयोग कर सकते हैं। वे बैच की तुलना में अधिक शक्तिशाली हैं और दोनों में स्टैंडअलोन .exeएस उत्पन्न करने के लिए संकलक शामिल हैं ।
डैनियल बी

यहां बताया गया है कि बाहरी उपकरणों के बिना यह कैसे किया जा सकता है
npocmaka

जवाबों:


23

हाँ वास्तव में। यह सुंदर नहीं है, लेकिन यह साफ है (बाद में साफ करने के लिए कुछ भी नहीं) और यह वास्तव में आपके सिस्टम में अंतर्निहित है!

आपके C:\Windows\System32\फ़ोल्डर में, एक फ़ाइल है जिसे कहा जाता है iexpress.exe

  • इसे राइट-क्लिक करें a Run as administrator
  • एक नया SED बनाएं और "फाइल निकालें और इंस्टॉलेशन कमांड चलाएँ"।
  • इच्छित स्क्रिप्ट जोड़ें, और सुनिश्चित करें कि अगली स्क्रीन पर, आप इंस्टॉल प्रोग्राम को उस स्थान पर सेट करें cmd /c [your_script.bat]जहाँ [your_script.bat] वह स्क्रिप्ट फ़ाइल है जिसे आप निष्पादित करना चाहते हैं। यदि आप ऐसा नहीं करते हैं, तो विंडोज़ कॉमपीडिया (कमांड प्रॉम्प्ट का पुराना संस्करण) का उपयोग करने की कोशिश करेगा जो कि काफी समय से उपयोग में नहीं आया है।
  • प्राथमिकताओं का चयन करें (आपको पैकेज के अंदर लंबे फ़ाइल नाम का उपयोग करके स्टोर फ़ाइलों का चयन करने की आवश्यकता हो सकती है), एक आउटपुट पथ सेट करें (जिसे आप बनाना चाहते हैं। Exe फ़ाइल), और "कोई पुनरारंभ नहीं" चुनें।
  • अगला क्लिक करें और आपके पास आपका .exe होना चाहिए!

बस एक नोट, यह फ़ाइल वास्तव में केवल आपकी स्क्रिप्ट के लिए एक आवरण के रूप में कार्य करती है, और स्क्रिप्ट वास्तव में निष्पादन पर बनाए गए एक अस्थायी फ़ोल्डर में निष्पादित होती है (और बाद में हटा दी जाती है), इसलिए सुनिश्चित करें कि आप किसी भी रिश्तेदार पथ का उपयोग नहीं करते हैं।


2
दुर्भाग्य से, हमारे उद्यम एवी ने देखा कि परिणामस्वरूप निष्पादन योग्य एक "कैबिनेट सेल्फ-एक्सट्रैक्टर" था और इसे दुर्भावनापूर्ण गतिविधि के रूप में चिह्नित किया।
किमीोट

@ मुझे भी बताएं उन्होंने मुझसे इसके बारे में एक बार पहले पूछा क्योंकि यह शायद एक रिपोर्ट में आया था और मैंने समझाया कि यह क्या है, इस बार उन्होंने बिना पूछे ही इसे हटा दिया।
जीरो

Niice। धन्यवाद man। इसने मुझे BAT स्क्रिप्ट से एक EXE बनाने में मदद की, जो कि मैं पहले उपलब्ध विभिन्न उपकरणों जैसे कि Bat2Exe आदि का उपयोग करने में असमर्थ था,
हर्ष कांची

12

यहाँ 2 मुफ्त कार्यक्रम हैं जो मैं EXE के बैच फ़ाइलों को बनाने के लिए अत्यधिक अनुशंसा करता हूं

1 - चमगादड़ कनवर्टर को चमगादड़

2 - चमगादड़ 2 Exe

आप सरल जीयूआई के साथ दोनों कार्यक्रमों का उपयोग कर सकते हैं।

Bat To Exe ConverterCLI कमांड ( \?मदद के लिए ध्वज) का भी समर्थन करता है । प्रलेखन से मूल उदाहरण:

Bat_To_Exe_Converter.exe -bat mybatfile.bat -save myprogram.exe -icon myicon

Bat2Execआपको प्रशासक प्रकट करने की अनुमति देता है जो मुझे पसंद आया।
यमक

2
क्या आप उन कार्यक्रमों के साथ कार्य को पूरा करने के बारे में त्वरित जानकारी दे सकते हैं? यह कभी भी एक जवाब में अतिरिक्त विस्तार करने के लिए दर्द नहीं करता है :)
बेन एन

उन्नत चमगादड़ 2 Exe कन्वर्टर शेयरवेयर है
djibe


क्या 2 - बैट 2 एक्सई सीएलआई का समर्थन करता है? मैं इस पर कोई जानकारी नहीं देख सकता।
Ste

5

यदि आपका कीबोर्ड सॉफ्टवेयर निष्पादन योग्य (जो कि असंभव नहीं है) के लिए तर्कों के पारित होने का समर्थन करता है।

cmd.exe /c <path to batchfile>

बैच फ़ाइल चलाएगा, और आपको कीबोर्ड सॉफ़्टवेयर के लिए एक मान्य निष्पादन योग्य नाम देगा। किसी भी रूपांतरण की आवश्यकता का मतलब यह नहीं है कि आप हमेशा अतिरिक्त चरणों के बिना अपने बल्ले में आसानी से बदलाव कर सकते हैं।


4

मुझे यह लेख मिला जो आपको दिखाता है कि .bat to .exe फ़ाइल को बैच-स्कैप्ट का उपयोग करके कैसे परिवर्तित किया जाए:

@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

महत्वपूर्ण डाउनलोड:


क्या EXE को उसी कमांड लाइन से प्रतिध्वनित करना संभव है, जिससे इसे चलाया गया था? (नई विंडो खोलने का विरोध करते हुए)
स्टेविसीक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.