Sie haben eine Batch-Datei oder ein PowerShell-Skript geschrieben, das funktioniert, und möchten es nun als einzelne .exe weitergeben: eine Datei zum Doppelklicken, ohne „Öffnen mit“-Fragen und ohne Konsole voller Befehle.

Dafür brauchen Sie keinen Online-„BAT-zu-EXE-Konverter“. Windows enthält bereits ein Tool dafür, und PowerShell hat ein kostenloses, offenes Modul, das dasselbe für .ps1-Skripte erledigt. Beide laufen auf Ihrem eigenen Computer, also wird die Datei nur aus Ihrem Skript erstellt und aus nichts anderem.

Eilig?

  • Batch-Datei (.bat / .cmd): Drücken Sie Win + R, geben Sie iexpress ein und packen Sie die Datei mit dem Installationsbefehl cmd /c yourscript.bat.
  • PowerShell (.ps1): Führen Sie einmal Install-Module ps2exe -Scope CurrentUser aus, dann Invoke-ps2exe .\script.ps1 .\script.exe.
  • Python (.py): pip install pyinstaller, dann pyinstaller --onefile script.py.
  • Sie möchten ein Symbol? Holen Sie es sich aus einem beliebigen Programm mit dem kostenlosen Icon Extractor.

Methode 1: BAT in EXE mit IExpress (in Windows enthalten)

IExpress ist seit Jahrzehnten Teil von Windows. Es wurde für kleine Installer entwickelt: Es packt Dateien in eine EXE, entpackt sie beim Start in einen temporären Ordner und führt einen Befehl aus. Dieser Befehl kann Ihre Batch-Datei sein.

  1. Drücken Sie Win + R, geben Sie iexpress ein und drücken Sie Enter.
  2. Wählen Sie Create new Self Extraction Directive file und klicken Sie auf Next.
  3. Wählen Sie Extract files and run an installation command.
  4. Geben Sie dem Paket einen Titel (er erscheint in der Titelleiste jeder Meldung).
  5. Bestätigungsabfrage: No prompt. Lizenzvereinbarung: Do not display a license.
  6. Packaged files: Klicken Sie auf Add und wählen Sie Ihre .bat-Datei (und alle Dateien, die sie braucht).
  7. Install Program: Geben Sie cmd /c yourscript.bat selbst ein, mit dem Namen Ihrer Datei. Die .bat nur aus der Liste zu wählen, bewirkt oft nichts, weil IExpress Batch-Dateien nicht direkt startet.
  8. Show window: Default, um die Konsole zu sehen, oder Hidden, um unsichtbar zu laufen.
  9. Abschlussmeldung: No message.
  10. Package name: Wählen Sie, wo die EXE gespeichert wird, und aktivieren Sie Hide File Extracting Progress Animation from User sowie Store files using Long File Name inside Package.
  11. Restart: No restart. Speichern Sie die SED-Datei, wenn Sie später neu erstellen möchten, und klicken Sie dann auf Next, um die EXE zu erzeugen.

Wichtig zu wissen: Das Skript läuft aus einem temporären Ordner, nicht dort, wo die EXE liegt. Eine Zeile wie copy data.txt backup\ sucht in diesem temporären Ordner. Verwenden Sie vollständige Pfade (%USERPROFILE%\Documents\data.txt) für Dateien, die das Skript außerhalb des Pakets liest oder schreibt.

Methode 2: PowerShell in EXE mit ps2exe

ps2exe ist ein kostenloses Open-Source-Modul für PowerShell, veröffentlicht in der offiziellen PowerShell Gallery. Es verpackt ein .ps1-Skript in eine kleine EXE, die es ausführt, und lässt Sie Symbol, Version und die Anzeige eines Konsolenfensters festlegen.

  1. Öffnen Sie PowerShell (keine Administratorrechte nötig) und installieren Sie das Modul einmalig:
    Install-Module ps2exe -Scope CurrentUser
    Wenn PowerShell fragt, ob der NuGet-Anbieter installiert oder dem PSGallery-Repository vertraut werden soll, antworten Sie mit Y.
  2. Wechseln Sie in den Ordner mit Ihrem Skript und erstellen Sie die EXE:
    Invoke-ps2exe .\script.ps1 .\script.exe
  3. Nützliche Optionen:
    • -noConsole: kein Konsolenfenster (für Skripte mit Formularen oder Meldungsfenstern).
    • -iconFile .\app.ico: das Symbol der EXE.
    • -requireAdmin: fordert beim Start Administratorrechte an.
    • -title "My Tool" -version "1.0.0": was Windows in den Dateieigenschaften anzeigt.

Lieber ein Fenster statt der Kommandozeile? Führen Sie nach der Installation des Moduls Win-PS2EXE aus: dasselbe Tool mit einem kleinen Formular.

Andere Skripte: Python, AutoHotkey, Node.js

  • Python: pyinstaller --onefile script.py erstellt eine EXE im Ordner dist. Fügen Sie --noconsole für ein Programm mit Fenster hinzu.
  • AutoHotkey: Der Installer enthält Ahk2Exe: Rechtsklick auf die .ahk-Datei und Compile Script wählen.
  • Node.js: Aktuelle Versionen (ab 20) können eine einzelne ausführbare Anwendung erstellen (siehe die Seite „Single executable applications“ in der Node.js-Dokumentation).

Brauchen Sie wirklich eine EXE?

Oft reicht eine einfachere Lösung:

  • Eine Verknüpfung. Rechtsklick auf die .bat-Datei, dann Send to → Desktop (create shortcut), und geben Sie der Verknüpfung in ihren Eigenschaften ein Symbol. Ein Doppelklick startet das Skript.
  • Eine geplante Aufgabe. Für ein Skript, das täglich oder bei der Anmeldung laufen soll, führt die Aufgabenplanung eine .bat oder .ps1 direkt aus.
  • Das Skript selbst. Wenn die Empfänger Windows nutzen, startet eine .bat-Datei bereits per Doppelklick.

Drei Dinge, die jeder „BAT-zu-EXE-Konverter“ verschweigt

  1. Ihr Code ist nicht versteckt. Diese Tools speichern das Skript in der EXE, oft als Klartext. Jeder kann es wieder auslesen, etwa mit unserem String Extractor, der den lesbaren Text in jeder Datei auflistet. Legen Sie niemals Passwörter, Tokens oder Schlüssel darin ab.
  2. Virenscanner können anschlagen. Schadsoftware nutzt dieselben Wrapper, daher können Windows Defender und SmartScreen vor einer völlig harmlosen Skript-EXE warnen. Eine Signatur mit einem Code-Signing-Zertifikat hilft, und Microsoft nimmt Fehlalarm-Meldungen für selbst erstellte Dateien entgegen.
  3. Eine EXE von einer Website ist eine Datei, die Sie nicht prüfen können. Ein Online-Konverter liefert eine Datei, die auf einem Server erstellt wurde, über den Sie nichts wissen. Deshalb erklären wir den eingebauten Weg, statt selbst einen anzubieten: Mit IExpress oder ps2exe wissen Sie genau, was in der Datei steckt.

Sie haben eine EXE von jemand anderem und möchten wissen, was sie ausführt, bevor Sie sie öffnen? Lesen Sie, wie man eine EXE analysiert, ohne sie auszuführen.

Kostenlose Tools für den Rest der Arbeit

Alle laufen in Ihrem Browser: Ihre Dateien werden nirgendwohin hochgeladen.

Holen Sie sich ein Symbol für Ihre EXE mit dem Icon Extractor