Hai scritto un file batch o uno script PowerShell che funziona e ora vuoi darlo a qualcuno come un unico .exe: un solo file da aprire con doppio clic, senza domande “apri con” e senza una console piena di comandi.

Non ti serve un “convertitore da BAT a EXE” online. Windows include già uno strumento che lo fa, e PowerShell ha un modulo gratuito e aperto che fa lo stesso per gli script .ps1. Entrambi funzionano sul tuo computer, quindi il file che ottieni è creato dal tuo script e da nient'altro.

Hai fretta?

  • File batch (.bat / .cmd): premi Win + R, digita iexpress e impacchetta il file con il comando di installazione cmd /c yourscript.bat.
  • PowerShell (.ps1): esegui Install-Module ps2exe -Scope CurrentUser una volta, poi Invoke-ps2exe .\script.ps1 .\script.exe.
  • Python (.py): pip install pyinstaller, poi pyinstaller --onefile script.py.
  • Vuoi un'icona? Prendila da qualsiasi programma con l'Icon Extractor gratuito.

Metodo 1: da BAT a EXE con IExpress (integrato in Windows)

IExpress fa parte di Windows da decenni. È nato per creare piccoli installer: impacchetta i file in un unico EXE, li estrae in una cartella temporanea quando l'EXE parte e avvia un comando. Quel comando può essere il tuo file batch.

  1. Premi Win + R, digita iexpress e premi Enter.
  2. Scegli Create new Self Extraction Directive file e fai clic su Next.
  3. Scegli Extract files and run an installation command.
  4. Dai un titolo al pacchetto (compare nella barra del titolo di ogni messaggio).
  5. Richiesta di conferma: No prompt. Contratto di licenza: Do not display a license.
  6. Packaged files: fai clic su Add e scegli il tuo file .bat (e i file di cui ha bisogno).
  7. Install Program: digita tu cmd /c yourscript.bat, con il nome del tuo file. Scegliere solo il .bat dall'elenco spesso non fa nulla, perché IExpress non avvia direttamente i file batch.
  8. Show window: Default per vedere la console, oppure Hidden per eseguirlo in silenzio.
  9. Messaggio finale: No message.
  10. Package name: scegli dove salvare l'EXE e spunta Hide File Extracting Progress Animation from User e Store files using Long File Name inside Package.
  11. Restart: No restart. Salva il file SED se vuoi ricreare l'EXE in seguito, poi fai clic su Next per crearlo.

Una cosa da sapere: lo script viene eseguito da una cartella temporanea, non da dove si trova l'EXE. Una riga come copy data.txt backup\ cerca in quella cartella temporanea. Usa percorsi completi (%USERPROFILE%\Documents\data.txt) per i file che lo script legge o scrive fuori dal pacchetto.

Metodo 2: da PowerShell a EXE con ps2exe

ps2exe è un modulo PowerShell gratuito e open source, pubblicato nella PowerShell Gallery ufficiale. Racchiude uno script .ps1 in un piccolo EXE che lo esegue e ti permette di impostare un'icona, una versione e se far comparire una finestra della console.

  1. Apri PowerShell (non servono diritti di amministratore) e installa il modulo una volta:
    Install-Module ps2exe -Scope CurrentUser
    Se PowerShell chiede di installare il provider NuGet o di considerare attendibile il repository PSGallery, rispondi Y.
  2. Vai nella cartella del tuo script e crea l'EXE:
    Invoke-ps2exe .\script.ps1 .\script.exe
  3. Opzioni utili:
    • -noConsole: nessuna finestra della console (per script che mostrano moduli o finestre di messaggio).
    • -iconFile .\app.ico: l'icona dell'EXE.
    • -requireAdmin: chiede i diritti di amministratore all'avvio.
    • -title "My Tool" -version "1.0.0": ciò che Windows mostra nelle proprietà del file.

Preferisci una finestra alla riga di comando? Esegui Win-PS2EXE dopo aver installato il modulo: è lo stesso strumento con un piccolo modulo.

Altri script: Python, AutoHotkey, Node.js

  • Python: pyinstaller --onefile script.py crea un unico EXE nella cartella dist. Aggiungi --noconsole per un programma con finestra.
  • AutoHotkey: l'installer include Ahk2Exe: clic destro sul file .ahk e scegli Compile Script.
  • Node.js: le versioni recenti (dalla 20 in poi) possono creare un'applicazione eseguibile singola (vedi la pagina “Single executable applications” della documentazione di Node.js).

Ti serve davvero un EXE?

Spesso basta un'opzione più semplice:

  • Un collegamento. Clic destro sul file .bat, Send to → Desktop (create shortcut), poi assegna un'icona al collegamento nelle sue proprietà. Un doppio clic avvia lo script.
  • Un'attività pianificata. Per uno script che deve girare ogni giorno o all'accesso, l'Utilità di pianificazione esegue direttamente un .bat o un .ps1.
  • Lo script stesso. Se le persone con cui lo condividi usano Windows, un file .bat si avvia già con un doppio clic.

Tre cose che ogni “convertitore da BAT a EXE” non ti dice

  1. Il tuo codice non è nascosto. Questi strumenti salvano lo script dentro l'EXE, spesso come testo semplice. Chiunque può rileggerlo, per esempio con il nostro String Extractor, che elenca il testo leggibile in qualsiasi file. Non inserire mai password, token o chiavi.
  2. Gli antivirus potrebbero lamentarsi. I malware usano gli stessi wrapper, quindi Windows Defender e SmartScreen possono segnalare un EXE di script del tutto innocuo. Firmarlo con un certificato di firma del codice aiuta, e Microsoft accetta segnalazioni di falsi positivi per i file che hai creato tu.
  3. Un EXE preso da un sito è un file che non puoi controllare. Un convertitore online ti restituisce un file creato su un server di cui non sai nulla. Per questo spieghiamo il metodo integrato invece di offrirne uno: con IExpress o ps2exe sai esattamente cosa è finito nel file.

Hai ricevuto un EXE da qualcuno e vuoi sapere cosa esegue prima di aprirlo? Leggi come analizzare un EXE senza eseguirlo.

Strumenti gratuiti per il resto del lavoro

Funzionano tutti nel tuo browser: i tuoi file non vengono caricati da nessuna parte.

Ottieni un'icona per il tuo EXE con l'Icon Extractor