13

У меня есть довольно простой пакетный скрипт, который я хотел бы выполнить, используя макрос на своей игровой клавиатуре. Однако SteelSeries Engine поддерживает открытие только файла .exe с помощью кнопок макросов. Есть ли способ конвертировать скрипт в простой исполняемый файл?

4 ответа4

14

Да собственно Это не красиво, но чисто (нечего потом чистить) и встроено в вашу систему!

В вашей папке C:\Windows\System32\ есть файл iexpress.exe .

  • Щелкните правой кнопкой мыши на « Run as administrator .
  • Создайте новый SED и выберите "Извлечь файлы и запустить команду установки".
  • Добавьте нужный сценарий и убедитесь, что на следующем экране вы установили программу установки на cmd /c [your_script.bat] где [your_script.bat] - файл сценария, который вы хотите выполнить. Если вы этого не сделаете, Windows попытается использовать Command.com (старая версия командной строки), которая долгое время не использовалась.
  • Выберите настройки (вам может потребоваться выбрать «Хранить файлы, используя длинное имя файла внутри пакета»), задать путь вывода (к файлу .exe, который вы хотите создать) и выберите "Без перезапуска".
  • Нажмите Далее, и вы должны иметь свой .exe!

Просто обратите внимание, этот файл фактически действует только как оболочка для вашего сценария, а сам сценарий фактически выполняется во временной папке, созданной при выполнении (и удаленной впоследствии), поэтому убедитесь, что вы не используете относительные пути.

9

Вот 2 бесплатные программы, которые я настоятельно рекомендую для создания EXE-файлов из пакетных файлов

1 - Bat To Exe Converter

2 - Bat 2 Exe

Вы можете использовать обе программы с простым графическим интерфейсом.

Bat To Exe Converter поддерживает также команды CLI (\? пометка о помощи). Базовый пример из документации:

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

Если программное обеспечение вашей клавиатуры поддерживает передачу аргументов в исполняемый файл (что не исключено), вам не нужно этого делать.

cmd.exe /c <path to batchfile>

запустит пакетный файл и выдаст вам допустимый исполняемый файл для программного обеспечения клавиатуры. Нет необходимости в конвертации, что означает, что вы всегда можете легко внести изменения в свою летучую мышь без дополнительных шагов.

3

Я нашел эту статью, которая показывает вам, как конвертировать .bat в .exe файл, используя пакетный сценарий:

@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

Важные загрузки:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .