2015-01-23 04:21:37 +0000 2015-01-23 04:21:37 +0000
24
24

¿Cómo puedo convertir un script por lotes de Windows en un .exe?

Tengo una secuencia de comandos por lotes bastante simple que me gustaría ejecutar mediante una macro en mi elegante teclado de juegos. Sin embargo, SteelSeries Engine sólo admite la apertura de un archivo .exe con los botones de la macro. ¿Hay alguna forma de convertir el script en un simple ejecutable?

Respuestas (4)

22
22
22
2015-01-23 04:21:37 +0000

Sí, de hecho. No es bonito, pero es limpio (no hay que limpiar nada después) y, de hecho, ¡está integrado en tu sistema!

En tu carpeta `C:\Windows\System32Sí, de hecho. No es bonito, pero es limpio (no hay que limpiar nada después) y, de hecho, ¡está integrado en tu sistema!

En tu carpeta , hay un archivo llamado iexpress.exe.

  • Haga clic con el botón derecho del ratón en un Run as administrator.
  • Cree un nuevo SED y seleccione “Extraer archivos y ejecutar un comando de instalación”.
  • Añade el script que quieras, y asegúrate de que en la siguiente pantalla, estableces el programa de instalación en cmd /c [your_script.bat] donde [tu_script.bat] es el archivo de script que quieres ejecutar. Si no haces esto, windows intentará usar Command.com (la antigua versión de Command Prompt) que hace tiempo que no se usa.
  • Seleccione las preferencias (es posible que tenga que seleccionar “Almacenar los archivos usando el nombre largo de archivo dentro del paquete), establezca una ruta de salida (al archivo .exe que desea crear) y seleccione "No reiniciar”.
  • Haga clic en siguiente y debería tener su .exe.

Sólo una nota, este archivo en realidad sólo actúa como una envoltura para su secuencia de comandos, y la secuencia de comandos en sí se ejecuta en una carpeta temporal creada en la ejecución (y eliminada después), así que asegúrese de no utilizar ninguna ruta relativa.

13
13
13
2016-01-17 16:59:07 +0000

Aquí hay 2 programas gratuitos que recomiendo encarecidamente para crear EXE a partir de archivos por lotes

Puede utilizar ambos programas con una simple GUI.

Bat To Exe Converter soporta también comandos CLI (bandera \? para la ayuda). Ejemplo básico de la documentación:

Bat_To_Exe_Converter.exe -bat mybatfile.bat -save myprogram.exe -icon myicon
5
5
5
2015-01-23 07:35:50 +0000

Si su software de teclado admite el paso de argumentos al ejecutable (lo que no es improbable) no tiene que hacerlo.

cmd.exe /c <path to batchfile>

ejecutaría el archivo por lotes, y le daría un ejecutable válido para nombrar al software del teclado. El hecho de que no sea necesaria la conversión significa que siempre puedes hacer cambios fácilmente en tu bat sin necesidad de pasos adicionales.

4
4
4
2016-01-17 17:49:25 +0000

Encontré este artículo que muestra como convertir un archivo .bat a .exe usando un 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

Descargas importantes:

Preguntas relacionadas

3
28
13
7
18