Wie kann ich ein Windows-Batch-Skript in eine EXE-Datei konvertieren?

Wie kann ich ein Windows-Batch-Skript in eine EXE-Datei konvertieren?

Ich habe ein ziemlich einfaches Batch-Skript, das ich mithilfe eines Makros auf meiner schicken Gaming-Tastatur ausführen möchte. SteelSeries Engine unterstützt jedoch nur das Öffnen einer EXE-Datei mit den Makrotasten. Gibt es eine Möglichkeit, das Skript in eine einfache ausführbare Datei umzuwandeln?

Antwort1

Ja, tatsächlich. Es ist nicht schön, aber es ist sauber (nichts, was man hinterher aufräumen muss) und es ist tatsächlich in Ihr System integriert!

In Ihrem C:\Windows\System32\Ordner befindet sich eine Datei namens iexpress.exe.

  • Klicken Sie mit der rechten Maustaste darauf Run as administrator.
  • Erstellen Sie ein neues SED und wählen Sie „Dateien extrahieren und einen Installationsbefehl ausführen“.
  • Fügen Sie das gewünschte Skript hinzu und stellen Sie sicher, dass Sie auf dem nächsten Bildschirm das Installationsprogramm so einstellen, cmd /c [your_script.bat]dass [your_script.bat] die Skriptdatei ist, die Sie ausführen möchten. Wenn Sie dies nicht tun, versucht Windows, Command.com (die alte Version der Eingabeaufforderung) zu verwenden, die schon seit einiger Zeit nicht mehr verwendet wird.
  • Wählen Sie die Einstellungen (ggf. müssen Sie „Dateien mit langem Dateinamen im Paket speichern“ auswählen), legen Sie einen Ausgabepfad fest (zu der EXE-Datei, die Sie erstellen möchten) und wählen Sie „Kein Neustart“.
  • Klicken Sie auf „Weiter“ und Sie sollten Ihre EXE-Datei haben!

Nur ein Hinweis: Diese Datei fungiert eigentlich nur als Wrapper für Ihr Skript und das Skript selbst wird in einem temporären Ordner ausgeführt, der bei der Ausführung erstellt (und anschließend gelöscht) wird. Stellen Sie daher sicher, dass Sie keine relativen Pfade verwenden.

Antwort2

Hier sind 2 kostenlose Programme, die ich zum Erstellen von EXE-Dateien aus Batchdateien wärmstens empfehle

1 - Bat-zu-Exe-Konverter

2 - Fledermaus 2 Exe

Sie können beide Programme mit einer einfachen GUI verwenden.

Bat To Exe Converterunterstützt auch CLI-Befehle ( \?Flag für Hilfe). Einfaches Beispiel aus der Dokumentation:

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

Antwort3

Wenn Ihre Tastatursoftware die Übergabe von Argumenten an die ausführbare Datei unterstützt (was nicht unwahrscheinlich ist), müssen Sie dies nicht tun.

cmd.exe /c <path to batchfile>

würde die Batchdatei ausführen und Ihnen eine gültige ausführbare Datei zum Benennen der Tastatursoftware geben. Keine Konvertierung erforderlich bedeutet, dass Sie jederzeit problemlos Änderungen an Ihrem Bat vornehmen können, ohne dass zusätzliche Schritte erforderlich sind.

Antwort4

Verschiedene Windows-Versionen haben unterschiedliche Auswirkungen auf dieselben Batchdateibefehle, und einige Befehle sind auf bestimmte Windows-Systeme beschränkt, z. B. findstrund shutdown.
Übrigens erlaubt die CMD von Win 10 keine Änderungen in SETLOCALder Befehlszeile. OK für Batchdateien.

Unter diesem Link finden Sie verschiedene Befehle zum Neustarten unterschiedlicher Windows-Versionen: https://www.computerhope.com/issues/ch000321.htm

Wenn Sie also ein Skript unter Win 98 kompilieren und unter Win 8.1 ausführen, erhalten Sie unerwartete Ergebnisse oder das Skript funktioniert möglicherweise nicht einmal. Eine Liste der Befehle finden Sie hier: https://www.ionos.com/digitalguide/server/know-how/windows-cmd-commands/

Aus diesem Grund bräuchte man für jede Windows-Version einen anderen Compiler, der vorzugsweise Binärcode (generischen) ausspuckt, der auf möglichst vielen CPU-Chips mit denselben Befehlssätzen ausgeführt werden kann. Eine von den meisten Programmen angebotene Problemumgehung besteht darin, das Skript in eine EXE-Datei zu packen, die das Skript beim Öffnen/Ausführen entpackt und ausführt, z. B. Bat_To_Exe_Converter, Bat2Exe, BatchCompiler oder Winzip: https://support.winzip.com/hc/en-us/articles/115011794948-Was-ist-eine-selbstentpackende-Zip-Datei-

Um dieses Portabilitätsproblem zu lösen, sind virtuelle Maschinen immer beliebter geworden und daher kommt es auch zum Aufstieg von Java und verwandten Skripten.

Dies wäre jedoch immer noch interpretierter Code und nicht so schnell wie kompilierter Code. Sogar Bytecode (Zwischencode) von virtuellen Maschinen muss immer noch kompiliert werden, selbst wenn es sich um (JIT) handelt: https://aboullaite.me/understanding-jit-compiler-just-in-time-compiler/

Kurz gesagt, Sie können eine EXE-Datei erhalten, die ein Skript enthält, das vom Befehlsprozessor interpretiert werden kann. Es handelt sich dabei jedoch nicht um eine native ausführbare Datei, d. h. sie läuft nicht ohne einen Host im Windows-Betriebssystem.

verwandte Informationen