Você escreveu um arquivo batch ou um script PowerShell que funciona e agora quer entregá-lo a alguém como um único .exe: um arquivo para clicar duas vezes, sem perguntas de “abrir com” e sem um console cheio de comandos.
Para isso, você não precisa de um “conversor de BAT para EXE” online. O Windows já inclui uma ferramenta que faz isso, e o PowerShell tem um módulo gratuito e aberto que faz o mesmo para scripts .ps1. Ambos rodam no seu próprio computador, então o arquivo gerado é feito a partir do seu script e de nada mais.
Com pressa?
- Arquivo batch (.bat / .cmd): pressione Win + R, digite
iexpresse empacote o arquivo com o comando de instalaçãocmd /c yourscript.bat. - PowerShell (.ps1): execute
Install-Module ps2exe -Scope CurrentUseruma vez e depoisInvoke-ps2exe .\script.ps1 .\script.exe. - Python (.py):
pip install pyinstallere depoispyinstaller --onefile script.py. - Quer um ícone? Pegue um de qualquer programa com o Icon Extractor gratuito.
Método 1: BAT para EXE com IExpress (nativo do Windows)
O IExpress faz parte do Windows há décadas. Ele foi criado para montar pequenos instaladores: empacota arquivos em um EXE, extrai tudo para uma pasta temporária quando o EXE roda e inicia um comando. Esse comando pode ser o seu arquivo batch.
- Pressione Win + R, digite
iexpresse pressione Enter. - Escolha Create new Self Extraction Directive file e clique em Next.
- Escolha Extract files and run an installation command.
- Dê um título ao pacote (ele aparece na barra de título de qualquer mensagem).
- Pedido de confirmação: No prompt. Contrato de licença: Do not display a license.
- Packaged files: clique em Add e selecione o seu arquivo
.bat(e os arquivos de que ele precisa). - Install Program: digite
cmd /c yourscript.batvocê mesmo, com o nome do seu arquivo. Só escolher o .bat na lista muitas vezes não faz nada, porque o IExpress não inicia arquivos batch diretamente. - Show window: Default para ver o console ou Hidden para rodar em silêncio.
- Mensagem final: No message.
- Package name: escolha onde salvar o EXE e marque Hide File Extracting Progress Animation from User e Store files using Long File Name inside Package.
- Restart: No restart. Salve o arquivo SED se quiser gerar de novo depois e clique em Next para criar o EXE.
Um detalhe importante: o script roda a partir de uma pasta temporária, não de onde está o EXE. Uma linha como copy data.txt backup\ procura nessa pasta temporária. Use caminhos completos (%USERPROFILE%\Documents\data.txt) para arquivos que o script lê ou grava fora do pacote.
Método 2: PowerShell para EXE com ps2exe
ps2exe é um módulo PowerShell gratuito e de código aberto, publicado na PowerShell Gallery oficial. Ele envolve um script .ps1 em um pequeno EXE que o executa e permite definir um ícone, uma versão e se uma janela de console aparece.
- Abra o PowerShell (sem precisar de direitos de administrador) e instale o módulo uma vez:
Se o PowerShell pedir para instalar o provedor NuGet ou confiar no repositório PSGallery, responda Y.Install-Module ps2exe -Scope CurrentUser - Vá até a pasta do seu script e gere o EXE:
Invoke-ps2exe .\script.ps1 .\script.exe - Opções úteis:
-noConsole: sem janela de console (para scripts que mostram formulários ou caixas de mensagem).-iconFile .\app.ico: o ícone do EXE.-requireAdmin: pede direitos de administrador ao iniciar.-title "My Tool" -version "1.0.0": o que o Windows mostra nas propriedades do arquivo.
Prefere uma janela à linha de comando? Execute Win-PS2EXE depois de instalar o módulo: é a mesma ferramenta com um pequeno formulário.
Outros scripts: Python, AutoHotkey, Node.js
- Python:
pyinstaller --onefile script.pygera um único EXE na pastadist. Adicione--noconsolepara um programa com janela. - AutoHotkey: o instalador inclui o Ahk2Exe: clique com o botão direito no arquivo .ahk e escolha Compile Script.
- Node.js: versões recentes (20 ou superior) podem gerar um aplicativo executável único (veja a página “Single executable applications” da documentação do Node.js).
Você precisa mesmo de um EXE?
Muitas vezes uma opção mais simples resolve:
- Um atalho. Clique com o botão direito no arquivo .bat, Send to → Desktop (create shortcut), e depois dê um ícone ao atalho nas propriedades dele. Um clique duplo executa o script.
- Uma tarefa agendada. Para um script que deve rodar todo dia ou ao entrar no sistema, o Agendador de Tarefas executa um .bat ou .ps1 diretamente.
- O próprio script. Se as pessoas com quem você compartilha usam Windows, um arquivo .bat já roda com clique duplo.
Três coisas que todo “conversor de BAT para EXE” não conta
- Seu código não fica oculto. Essas ferramentas guardam o script dentro do EXE, muitas vezes como texto puro. Qualquer pessoa pode lê-lo de volta, por exemplo com o nosso String Extractor, que lista o texto legível de qualquer arquivo. Nunca coloque senhas, tokens ou chaves nele.
- Antivírus podem reclamar. Malwares usam os mesmos empacotadores, então o Windows Defender e o SmartScreen podem alertar sobre um EXE de script totalmente inofensivo. Assiná-lo com um certificado de assinatura de código ajuda, e a Microsoft aceita relatos de falso positivo para arquivos criados por você.
- Um EXE de um site é um arquivo que você não consegue verificar. Um conversor online devolve um arquivo gerado em um servidor sobre o qual você não sabe nada. Por isso explicamos o caminho nativo em vez de oferecer um: com IExpress ou ps2exe, você sabe exatamente o que foi para dentro do arquivo.
Recebeu um EXE de alguém e quer saber o que ele executa antes de abrir? Leia como analisar um EXE sem executá-lo.
Ferramentas grátis para o resto do trabalho
Todas rodam no seu navegador: seus arquivos não são enviados para lugar nenhum.