Como posso converter um script em lote do Windows em um .exe?

11

Eu tenho um script em lote bastante simples que gostaria de executar usando uma macro no meu teclado de jogos extravagante. No entanto, o SteelSeries Engine suporta apenas a abertura de um arquivo .exe com os botões de macro. Existe alguma maneira de converter o script em um executável simples?

    
por Chase Sandmann 23.01.2015 / 05:21

4 respostas

13

Sim, na verdade. Não é bonito, mas está limpo (nada para limpar depois) e está embutido no seu sistema!

Na sua pasta C:\Windows\System32\ , existe um arquivo chamado iexpress.exe .

  • Clique com o botão direito do mouse em Run as administrator .
  • Crie um novo SED e selecione "Extrair arquivos e executar um comando de instalação".
  • Adicione o script desejado e certifique-se de que, na próxima tela, você defina o programa de instalação como cmd /c [your_script.bat] , em que [your_script.bat] é o arquivo de script que você deseja executar. Se você não fizer isso, o Windows tentará usar o Command.com (a versão antiga do Prompt de Comando) que não está em uso há um bom tempo.
  • Selecione as preferências (talvez seja necessário selecionar "Armazenar arquivos usando o Nome de arquivo longo no Pacote), definir um caminho de saída (para o arquivo .exe que você deseja criar) e selecionar" Sem reinicialização ".
  • Clique em próximo e você deverá ter seu .exe!

Apenas uma nota, este arquivo realmente funciona apenas como um wrapper para o seu script, e o script em si é executado em uma pasta temporária criada na execução (e excluída posteriormente), portanto, não use caminhos relativos .

    
por 23.01.2015 / 05:21
7

Aqui estão 2 programas gratuitos que eu recomendo para criar arquivos fora de lote EXE

1 - Conversor Bat To Exe

2 - Bat 2 Exe

Você pode usar os dois programas com uma GUI simples.

Bat To Exe Converter suporta também comandos CLI ( \? flag para ajuda). Exemplo básico da documentação:

Bat_To_Exe_Converter.exe -bat mybatfile.bat -save myprogram.exe -icon myicon
    
por 17.01.2016 / 17:59
4

Se o software do seu teclado suportar a passagem de argumentos para o executável (o que não é improvável), não é necessário.

cmd.exe /c <path to batchfile>

executaria o arquivo em lote e forneceria um executável válido para o nome do software do teclado. Nenhuma conversão necessária significa que você sempre pode fazer alterações facilmente no seu bastão sem precisar de etapas adicionais.

    
por 23.01.2015 / 08:35
3

Encontrei isto

@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

Downloads importantes:

por 17.01.2016 / 18:49