Ricerca

lunedì 21 aprile


Windows: trasformare un file batch in un eseguibile

di Michele Nasi (14/10/2010)


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.
Articolo seguente: WinMHR: un nuovo tool per rilevare la presenza di malware
Articolo precedente: Utilizzare dei checkbox per copiare o spostare insiemi di file e cartelle
23816 letture
Ultimi commenti
inviato da alle > pubblicato il 03/11/2010 17:50:54
Io ho usato Batch_to_exe e fa il suo lavoro egregiamente, compreso l'inserimento di una icona.
inviato da Michele Nasi > pubblicato il 15/10/2010 09:30:30
Citazione: Autoit fa questo ed altro. La procedura proposta mi sembra solo una sorta di "effetto collaterale" dell'uso di 7-zip.
Abbiamo già presentato Autoit in passato: è proprio un linguaggio di scripting che consente di automatizzare tutta una serie di operazioni in ambiente Windows. Nel caso dell'articolo, invece, dai un'occhiata a questa pagina: http://7zsfx.info/en/
inviato da Jake > pubblicato il 15/10/2010 09:02:52
Ciao Lepo, interessante il software che hai citato. Ho giusto un collega DOS-dipendente che apprezzerà senz'altro. :wink:
inviato da MfM > pubblicato il 15/10/2010 02:03:30
Autoit fa questo ed altro. La procedura proposta mi sembra solo una sorta di "effetto collaterale" dell'uso di 7-zip.
inviato da Lepo > pubblicato il 14/10/2010 22:53:54
Da ricordare anche che esistono delle piccole utility quali Advanced BAT to EXE Converter, freeware e veloci.
inviato da Red2 > pubblicato il 14/10/2010 22:37:18
Secondo me l'articolo andrebbe approfondito; non è questione di creare un exe da un bat, ma di creare un archivio autoscompattante, tutto racchiuso in un unico file .exe. Garantisco che funziona, lo uso in produzione.


Leggi tutti i commenti

Commenta anche su Facebook

Link alla home page de IlSoftware.it

P.IVA: 02472210547 | Copyright © 2001 - 2014

Pubblicità | Contatti | Informazioni legali | Storia | Supporta | Credits

Segui i nostri Feed RSS de IlSoftware.it Segui i nostri Feed RSS