आपने एक batch फ़ाइल या PowerShell स्क्रिप्ट लिखी है जो काम करती है, और अब आप उसे किसी को एक ही .exe के रूप में देना चाहते हैं: डबल-क्लिक करने के लिए एक फ़ाइल, बिना “open with” सवालों और कमांड से भरे कंसोल के।

इसके लिए आपको ऑनलाइन “BAT to EXE कन्वर्टर” की ज़रूरत नहीं। Windows में पहले से एक टूल है जो यह करता है, और PowerShell के पास एक मुफ़्त, ओपन मॉड्यूल है जो .ps1 स्क्रिप्ट के लिए यही करता है। दोनों आपके अपने कंप्यूटर पर चलते हैं, इसलिए मिलने वाली फ़ाइल सिर्फ़ आपकी स्क्रिप्ट से बनती है।

जल्दी में हैं?

  • Batch फ़ाइल (.bat / .cmd): Win + R दबाएँ, iexpress टाइप करें, और फ़ाइल को इंस्टॉल कमांड cmd /c yourscript.bat के साथ पैक करें।
  • PowerShell (.ps1): एक बार Install-Module ps2exe -Scope CurrentUser चलाएँ, फिर Invoke-ps2exe .\script.ps1 .\script.exe।
  • Python (.py): pip install pyinstaller, फिर pyinstaller --onefile script.py।
  • आइकन चाहिए? मुफ़्त आइकन एक्सट्रैक्टर से किसी भी प्रोग्राम का आइकन लें।

तरीका 1: IExpress से BAT को EXE में (Windows में बिल्ट-इन)

IExpress दशकों से Windows का हिस्सा है। इसे छोटे इंस्टॉलर बनाने के लिए बनाया गया था: यह फ़ाइलों को एक EXE में पैक करता है, EXE चलने पर उन्हें अस्थायी फ़ोल्डर में खोलता है, और एक कमांड शुरू करता है। वह कमांड आपकी batch फ़ाइल हो सकती है।

  1. Win + R दबाएँ, iexpress टाइप करें और Enter दबाएँ।
  2. Create new Self Extraction Directive file चुनें और Next पर क्लिक करें।
  3. Extract files and run an installation command चुनें।
  4. पैकेज को एक शीर्षक दें (यह हर संदेश की विंडो के शीर्षक में दिखता है)।
  5. Confirmation prompt: No prompt. License agreement: Do not display a license.
  6. Packaged files: Add पर क्लिक करें और अपनी .bat फ़ाइल (और उसे ज़रूरी अन्य फ़ाइलें) चुनें।
  7. Install Program: अपनी फ़ाइल के नाम के साथ cmd /c yourscript.bat ख़ुद टाइप करें। सूची से सिर्फ़ .bat चुनने से अक्सर कुछ नहीं होता, क्योंकि IExpress batch फ़ाइलों को सीधे शुरू नहीं करता।
  8. Show window: कंसोल देखने के लिए Default, या चुपचाप चलाने के लिए Hidden।
  9. Finished message: No message.
  10. Package name: EXE सेव करने की जगह चुनें, और Hide File Extracting Progress Animation from User व Store files using Long File Name inside Package पर टिक करें।
  11. Restart: No restart। बाद में फिर से बनाना हो तो SED फ़ाइल सेव करें, फिर EXE बनाने के लिए Next पर क्लिक करें।

एक बात जान लें: स्क्रिप्ट EXE की जगह से नहीं, एक अस्थायी फ़ोल्डर से चलती है। copy data.txt backup\ जैसी लाइन उसी अस्थायी फ़ोल्डर में देखती है। पैकेज के बाहर जिन फ़ाइलों को स्क्रिप्ट पढ़ती या लिखती है, उनके लिए पूरे पाथ (%USERPROFILE%\Documents\data.txt) इस्तेमाल करें।

तरीका 2: ps2exe से PowerShell को EXE में

ps2exe एक मुफ़्त, ओपन-सोर्स PowerShell मॉड्यूल है, जो आधिकारिक PowerShell Gallery में प्रकाशित है। यह .ps1 स्क्रिप्ट को एक छोटी EXE में लपेटता है जो उसे चलाती है, और आपको आइकन, संस्करण और कंसोल विंडो दिखे या नहीं, यह सेट करने देता है।

  1. PowerShell खोलें (एडमिनिस्ट्रेटर अधिकार ज़रूरी नहीं) और मॉड्यूल एक बार इंस्टॉल करें:
    Install-Module ps2exe -Scope CurrentUser
    अगर PowerShell NuGet प्रोवाइडर इंस्टॉल करने या PSGallery रिपॉज़िटरी पर भरोसा करने को पूछे, तो जवाब दें Y.
  2. अपनी स्क्रिप्ट वाले फ़ोल्डर में जाएँ और EXE बनाएँ:
    Invoke-ps2exe .\script.ps1 .\script.exe
  3. उपयोगी विकल्प:
    • -noConsole: कोई कंसोल विंडो नहीं (फ़ॉर्म या मैसेज बॉक्स दिखाने वाली स्क्रिप्ट के लिए)।
    • -iconFile .\app.ico: EXE का आइकन।
    • -requireAdmin: शुरू होते समय एडमिनिस्ट्रेटर अधिकार माँगता है।
    • -title "My Tool" -version "1.0.0": फ़ाइल की प्रॉपर्टीज़ में Windows जो दिखाता है।

कमांड लाइन की जगह विंडो पसंद है? मॉड्यूल इंस्टॉल करने के बाद Win-PS2EXE चलाएँ: यह वही टूल है, एक छोटे फ़ॉर्म के साथ।

अन्य स्क्रिप्ट: Python, AutoHotkey, Node.js

  • Python: pyinstaller --onefile script.py dist फ़ोल्डर में एक EXE बनाता है। विंडो वाले प्रोग्राम के लिए --noconsole जोड़ें।
  • AutoHotkey: इंस्टॉलर में Ahk2Exe शामिल है: .ahk फ़ाइल पर राइट-क्लिक करें और Compile Script चुनें।
  • Node.js: नए संस्करण (20 और बाद के) एक single executable application बना सकते हैं (Node.js दस्तावेज़ का “Single executable applications” पेज देखें)।

क्या आपको सच में EXE चाहिए?

अक्सर एक आसान विकल्प काम कर देता है:

  • शॉर्टकट। .bat फ़ाइल पर राइट-क्लिक करें, Send to → Desktop (create shortcut) चुनें, फिर प्रॉपर्टीज़ में शॉर्टकट को आइकन दें। उस पर डबल-क्लिक करने से स्क्रिप्ट चलती है।
  • शेड्यूल्ड टास्क। जो स्क्रिप्ट हर दिन या साइन-इन पर चलनी चाहिए, उसके लिए Task Scheduler .bat या .ps1 को सीधे चलाता है।
  • ख़ुद स्क्रिप्ट। अगर जिनके साथ आप शेयर करते हैं वे Windows इस्तेमाल करते हैं, तो .bat फ़ाइल डबल-क्लिक पर पहले से चलती है।

तीन बातें जो हर “BAT to EXE कन्वर्टर” छोड़ देता है

  1. आपका कोड छिपा नहीं है। ये टूल स्क्रिप्ट को EXE के अंदर, अक्सर सादे टेक्स्ट में रखते हैं। कोई भी उसे वापस पढ़ सकता है, जैसे हमारे स्ट्रिंग एक्सट्रैक्टर से, जो किसी भी फ़ाइल के अंदर का पढ़ने योग्य टेक्स्ट दिखाता है। इसमें कभी पासवर्ड, टोकन या कुंजियाँ न रखें।
  2. एंटीवायरस प्रोग्राम चेतावनी दे सकते हैं। मैलवेयर भी यही रैपर इस्तेमाल करता है, इसलिए Windows Defender और SmartScreen पूरी तरह हानिरहित स्क्रिप्ट EXE पर भी चेतावनी दे सकते हैं। code-signing सर्टिफ़िकेट से साइन करना मदद करता है, और Microsoft आपकी बनाई फ़ाइलों के लिए फ़ॉल्स-पॉज़िटिव रिपोर्ट स्वीकार करता है।
  3. किसी वेबसाइट से मिली EXE ऐसी फ़ाइल है जिसे आप जाँच नहीं सकते। ऑनलाइन कन्वर्टर ऐसे सर्वर पर बनी फ़ाइल देता है जिसके बारे में आप कुछ नहीं जानते। इसलिए हम कन्वर्टर देने के बजाय बिल्ट-इन तरीका समझाते हैं: IExpress या ps2exe से आपको ठीक पता रहता है कि फ़ाइल में क्या गया।

किसी और से EXE मिली है और खोलने से पहले जानना चाहते हैं कि वह क्या चलाती है? पढ़ें EXE को चलाए बिना उसका विश्लेषण कैसे करें।

बाकी काम के लिए मुफ़्त टूल

ये सभी आपके ब्राउज़र में चलते हैं: आपकी फ़ाइलें कहीं अपलोड नहीं होतीं।

आइकन एक्सट्रैक्टर से अपनी EXE के लिए आइकन पाएँ