Wie kann ich ein Windows-Batch-Skript konvertieren in a.exe?

Ich habe ein ziemlich einfaches Batch-Skript, das ich mit einem Makro auf meiner ausgefallenen Gaming-Tastatur ausführen möchte. SteelSeries Engine unterstützt jedoch nur das Öffnen eines .exe-Datei mit den Makro-Tasten. Gibt es eine Möglichkeit, das Skript in eine einfache ausführbare Datei zu konvertieren?

Author: Chase Sandmann, 2015-01-23

5 answers

Ja, tatsächlich. Es ist nicht schön, aber es ist sauber (danach nichts zu bereinigen) und es ist tatsächlich in Ihr System integriert!

In Ihrem Ordner C:\Windows\System32\ befindet sich eine Datei mit dem Namen iexpress.exe.

  • Rechtsklick darauf ein Run as administrator.
  • Erstellen Sie einen neuen 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 auf cmd /c [your_script.bat] wobei [your_script.bat] ist die Skriptdatei, die Sie möchten ausführen. Wenn Sie dies nicht tun, wird Windows versuchen zu verwenden Command.com (die alte Version der Eingabeaufforderung), die seit einiger Zeit nicht mehr verwendet wird.
  • Wählen Sie Einstellungen (möglicherweise müssen Sie "Speichern von Dateien mit langen Dateinamen innerhalb Paket), legen Sie einen Ausgabepfad (auf die .exe-Datei, die Sie erstellen möchten), und wählen Sie "Kein Neustart".
  • Klicken Sie auf weiter und Sie sollten Ihre .exe-Datei!

Nur eine Notiz, diese Datei fungiert eigentlich nur als Wrapper für Ihr Skript, und die das Skript selbst wird tatsächlich in einem temporären Ordner ausgeführt, der bei der Ausführung erstellt (und anschließend gelöscht) wurde, stellen Sie also sicher, dass Sie keine relativen Pfade verwenden.

 35
Author: Chase Sandmann,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-10-11 21:17:42

Hier sind 2 kostenlose Programme, die ich dringend zum Erstellen von EXE ' s aus Batch-Dateien empfehle

1 - Bat zu Exe Konverter

2 - Bat 2 Exe

Sie können beide Programme mit einfacher GUI verwenden.

Bat To Exe Converter unterstü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
 15
Author: rammi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-03-29 16:31:52

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 Batch-Datei 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.

 6
Author: Syberdoor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-01-23 07:35:50

Ich habe diesen Artikel gefunden, der Ihnen zeigt, wie Sie a konvertieren .fledermaus zu .exe-Datei mit einem Batch-scipt:

@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

Wichtige downloads:

 6
Author: Stackcraft_noob,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-01-17 17:49:25

Verschiedene Versionen von Windows hat unterschiedliche Auswirkungen für gleiche Batch - Datei Befehle, und einige Befehle sind auf einige Windows-Systeme zB beschränkt. findstr und shutdown.
Übrigens erlaubt Win 10 CMD keine Änderungen an SETLOCAL in der Befehlszeile. OK für batch-Dateien.

Siehe diesen Link für verschiedene Befehle zum Neustart verschiedener 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 würden, würden Sie Folgendes erhalten unerwartete Ergebnisse oder Skripte funktionieren möglicherweise nicht einmal. Siehe Liste der Befehle hier: https://www.ionos.com/digitalguide/server/know-how/windows-cmd-commands/

Aus diesem Grund würde man für jede Windows-Version einen anderen Compiler benötigen, der vorzugsweise Binärcode (generisch) ausspuckt, der auf so vielen CPU-Chips wie möglich mit denselben Befehlssätzen ausgeführt werden kann. Eine von den meisten Programmen angebotene Problemumgehung besteht darin, das Skript in eine EXE-Datei zu wickeln, die das Entpacken und Ausführen würde skript beim Öffnen / Ausführen zB. Bat_To_Exe_Converter, Bat2Exe, BatchCompiler oder Winzip: https://support.winzip.com/hc/en-us/articles/115011794948-What-is-a-Self-Extracting-Zip-File-

Um dieses Problem der Portabilität zu lösen, sind virtuelle Maschinen populärer geworden und damit der Aufstieg von Java und verwandten Skripten.

Dies wäre jedoch immer noch intepreted Code und nicht so schnell wie kompilierter Code. Sogar Byte-Code (Zwischencode) von virtuellen Maschinen muss noch kompiliert werden, auch wenn es (JIT): 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 wird, aber keine native ausführbare Datei ist, was bedeutet, dass es nicht ohne Host vom Windows-Betriebssystem ausgeführt wird.

 2
Author: Zimba,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-04-04 17:36:56