IlSoftware.it - Il sito italiano sul software

Windows: trasformare un file batch in un eseguibile



In questo articolo illustriamo una procedura, tutto sommato abbastanza semplice, che consente di trasformare in EXE qualunque file batch (.BAT).
Utenti normali ed amministratori di sistema ricorrono ancora ai file batch, in Windows, per automatizzare l'esecuzione di certe operazioni. Ma perché convertire un batch in un file con estensione .EXE?
I motivi possono essere diversi: innanzi tutto, diversamente rispetto ad un file batch, un eseguibile può essere inserito nella barra delle applicazioni di Windows 7 (Aggiungi questo programma alla barra delle applicazioni), può ospitare file addizionali da utilizzare od avviare ed offre maggiori garanzie che le operazioni in esso definite non siano state alterate.

Per la conversione dei file batch in eseguibili utilizzeremo un file batch che, a sua volta, sfrutta le possibilità offerte dal tool di compressione 7-Zip.

Per iniziare è necessario prelevare l'archivo compresso contenente la versione di 7-Zip basata su riga di comando. Il download può essere effettuato cliccando qui.

Dopo aver aperto l'archivio zip, è necessario estrarre il file 7za.exe in una cartella su disco fisso, creata allo scopo (ad esempio, c:\creaexe).

Nella directory c:\creaexe va quindi salvato il file 7zSD.7z, prelevabile cliccando qui.

A questo punto, è possibile cliccare su Start, Esegui... e digitare il comando seguente: c:\creaexe\7za e c:\creaexe\7zSD.7z
In questo modo, 7-Zip dovrebbe decomprimere il contenuto del file 7zSD.7z: nella cartella c:\creaexe dovrebbe così apparire un nuovo file denominato 7zsd.sfx.
Il file 7zSD.7z può essere eliminato.

Il passo successivo consiste nel memorizzare, sempre nella stessa cartella, il file batch creaexe.bat il cui contenuto è visualizzabile cliccando qui.
Il file batch provvede tre file in una cartella temporanea di Windows: il primo contiene l'elenco dei file che saranno inseriti nell'eseguibile, il secondo è il file di configurazione utilizzato dal modulo di estrazione automatica dei dati di 7-Zip mentre il terzo è il file compresso che ospita tutti i file che si vogliono inserire nell'exe.
Il comando copy /B unisce i vari file creando il file con estensione .exe.

Provate adesso a memorizzare, nella cartella c:\creaexe il file batch che desiderate trasformare in eseguibile. A titolo esemplificativo, provate a convertire in eseguibile il file batch che vi avevamo presentato in questo articolo (Autocheck.bat). Da Start, Esegui..., digitando c:\creaexe\creaexe.bat Autocheck.bat, verrà immediatamente generato il file Autocheck.exe.

Su Windows 7 e su Windows Vista, cliccando sull'eseguibile appena prodotto, il sistema operativo generalmente visualizza il messaggio in figura:


Cliccando su Programma installato correttamente, Windows non visualizzeranno più la medesima finestra. La comparsa della stessa è dovuta al fatto che il modulo 7zSD.sfx contiene al suo interno i termini "setup" ed "installer": questo aspetto induce le più recenti versioni di Windows a ritenere (erroneamente) che si abbia a che fare con una procedura d'installazione.

Utilizzando la sintassi c:\creaexe\creaexe.bat Autocheck.bat nomefile.abc nomefile.def, sostituendo – ovviamente – i file nomefile.abc nomefile.def con nomi di file realmente presenti, si potrà inserire questi ultimi all'interno del file eseguibile.


di Michele Nasi
IlSoftware.it - Il sito italiano sul software