Napisałeś działający plik wsadowy lub skrypt PowerShell i chcesz przekazać go komuś jako jeden plik .exe: jeden plik do dwukrotnego kliknięcia, bez pytań „otwórz za pomocą” i bez konsoli pełnej poleceń.

Nie potrzebujesz do tego „konwertera BAT na EXE” online. Windows ma już narzędzie, które to robi, a PowerShell ma darmowy, otwarty moduł, który robi to samo dla skryptów .ps1. Oba działają na Twoim komputerze, więc plik powstaje wyłącznie z Twojego skryptu i niczego więcej.

Spieszysz się?

  • Plik wsadowy (.bat / .cmd): naciśnij Win + R, wpisz iexpress i spakuj plik z poleceniem instalacji cmd /c yourscript.bat.
  • PowerShell (.ps1): uruchom raz Install-Module ps2exe -Scope CurrentUser, a potem Invoke-ps2exe .\script.ps1 .\script.exe.
  • Python (.py): pip install pyinstaller, a potem pyinstaller --onefile script.py.
  • Chcesz ikonę? Weź ją z dowolnego programu za pomocą darmowego Icon Extractor.

Metoda 1: BAT na EXE za pomocą IExpress (wbudowanego w Windows)

IExpress jest częścią Windows od dziesięcioleci. Powstał do tworzenia małych instalatorów: pakuje pliki w jeden EXE, przy uruchomieniu rozpakowuje je do folderu tymczasowego i wykonuje polecenie. Tym poleceniem może być Twój plik wsadowy.

  1. Naciśnij Win + R, wpisz iexpress i naciśnij Enter.
  2. Wybierz Create new Self Extraction Directive file i kliknij Next.
  3. Wybierz Extract files and run an installation command.
  4. Nadaj pakietowi tytuł (pojawia się na pasku tytułu każdego komunikatu).
  5. Monit potwierdzenia: No prompt. Umowa licencyjna: Do not display a license.
  6. Packaged files: kliknij Add i wybierz swój plik .bat (oraz pliki, których potrzebuje).
  7. Install Program: wpisz cmd /c yourscript.bat samodzielnie, z nazwą swojego pliku. Samo wybranie pliku .bat z listy często nic nie daje, bo IExpress nie uruchamia plików wsadowych bezpośrednio.
  8. Show window: Default, aby widzieć konsolę, lub Hidden, aby działać w ukryciu.
  9. Komunikat końcowy: No message.
  10. Package name: wybierz, gdzie zapisać EXE, i zaznacz Hide File Extracting Progress Animation from User oraz Store files using Long File Name inside Package.
  11. Restart: No restart. Zapisz plik SED, jeśli zechcesz później zbudować go ponownie, a potem kliknij Next, aby utworzyć EXE.

Warto wiedzieć: skrypt działa z folderu tymczasowego, a nie z miejsca, w którym leży EXE. Wiersz taki jak copy data.txt backup\ szuka w tym folderze tymczasowym. Używaj pełnych ścieżek (%USERPROFILE%\Documents\data.txt) dla plików, które skrypt czyta lub zapisuje poza pakietem.

Metoda 2: PowerShell na EXE za pomocą ps2exe

ps2exe to darmowy moduł PowerShell o otwartym kodzie, opublikowany w oficjalnej PowerShell Gallery. Opakowuje skrypt .ps1 w mały EXE, który go uruchamia, i pozwala ustawić ikonę, wersję oraz to, czy pojawi się okno konsoli.

  1. Otwórz PowerShell (uprawnienia administratora nie są potrzebne) i raz zainstaluj moduł:
    Install-Module ps2exe -Scope CurrentUser
    Jeśli PowerShell zapyta o instalację dostawcy NuGet lub zaufanie repozytorium PSGallery, odpowiedz Y.
  2. Przejdź do folderu ze skryptem i zbuduj EXE:
    Invoke-ps2exe .\script.ps1 .\script.exe
  3. Przydatne opcje:
    • -noConsole: bez okna konsoli (dla skryptów wyświetlających formularze lub okna komunikatów).
    • -iconFile .\app.ico: ikona pliku EXE.
    • -requireAdmin: przy uruchomieniu prosi o uprawnienia administratora.
    • -title "My Tool" -version "1.0.0": to, co Windows pokazuje we właściwościach pliku.

Wolisz okno zamiast wiersza poleceń? Po zainstalowaniu modułu uruchom Win-PS2EXE: to to samo narzędzie z małym formularzem.

Inne skrypty: Python, AutoHotkey, Node.js

  • Python: pyinstaller --onefile script.py tworzy jeden plik EXE w folderze dist. Dodaj --noconsole dla programu z oknem.
  • AutoHotkey: instalator zawiera Ahk2Exe: kliknij plik .ahk prawym przyciskiem i wybierz Compile Script.
  • Node.js: nowsze wersje (20 i wyższe) potrafią zbudować pojedynczą aplikację wykonywalną (zobacz stronę „Single executable applications” w dokumentacji Node.js).

Czy naprawdę potrzebujesz pliku EXE?

Często wystarczy prostsze rozwiązanie:

  • Skrót. Kliknij plik .bat prawym przyciskiem myszy, wybierz Send to → Desktop (create shortcut), a potem nadaj skrótowi ikonę w jego właściwościach. Dwukrotne kliknięcie uruchamia skrypt.
  • Zaplanowane zadanie. Jeśli skrypt ma działać codziennie lub przy logowaniu, Harmonogram zadań uruchamia plik .bat lub .ps1 bezpośrednio.
  • Sam skrypt. Jeśli osoby, którym go udostępniasz, używają Windows, plik .bat i tak uruchamia się dwukrotnym kliknięciem.

Trzy rzeczy, o których milczy każdy „konwerter BAT na EXE”

  1. Twój kod nie jest ukryty. Te narzędzia przechowują skrypt w pliku EXE, często jako zwykły tekst. Każdy może go odczytać, na przykład naszym String Extractor, który wyświetla czytelny tekst z dowolnego pliku. Nigdy nie umieszczaj w nim haseł, tokenów ani kluczy.
  2. Antywirusy mogą zgłaszać alarm. Złośliwe oprogramowanie używa tych samych opakowań, więc Windows Defender i SmartScreen mogą ostrzegać przed zupełnie nieszkodliwym EXE ze skryptem. Pomaga podpisanie go certyfikatem do podpisywania kodu, a Microsoft przyjmuje zgłoszenia fałszywych alarmów dla plików, które sam utworzyłeś.
  3. EXE ze strony internetowej to plik, którego nie możesz sprawdzić. Konwerter online zwraca plik zbudowany na serwerze, o którym nic nie wiesz. Dlatego zamiast go oferować, objaśniamy wbudowany sposób: z IExpress lub ps2exe wiesz dokładnie, co trafiło do pliku.

Masz EXE od kogoś innego i chcesz wiedzieć, co uruchamia, zanim go otworzysz? Przeczytaj, jak przeanalizować EXE bez uruchamiania.

Darmowe narzędzia do reszty pracy

Wszystkie działają w Twojej przeglądarce: Twoje pliki nie są nigdzie wysyłane.

Zdobądź ikonę dla swojego EXE za pomocą Icon Extractor