30Aug

Convertire uno script BAT( BAT) in un file eseguibile( EXE)

click fraud protection

Quando ci si abbassa, i file batch e i file eseguibili funzionano più o meno allo stesso modo. Entrambi sono semplicemente un insieme di istruzioni e logica per l'esecuzione di Windows. Quindi, perché dovresti voler convertire un file batch in un eseguibile se essenzialmente funzionano allo stesso modo? Ecco alcuni motivi: Portabilità

  • : è possibile includere strumenti aggiuntivi nel file EXE da cui dipende il file batch. Protezione
  • : un EXE fornisce protezione per lo script di origine per garantire che non venga modificato inavvertitamente.
  • Convenienza - I file eseguibili possono essere aggiunti al menu Start di Windows e / o alla barra delle applicazioni di Windows 7.

Con lo script seguente, è possibile creare facilmente il proprio file eseguibile da un file batch, completo e richiesto dagli strumenti incorporati. Configurazione

Questo script sfrutta un SFX avanzato 7-Zip( SelF eXtractor) per raggruppare ed eseguire il file batch con qualsiasi strumento incluso. Quindi è necessario scaricare( collegamenti forniti alla fine) questi ed estrarli in una singola directory.

instagram viewer

Una volta scaricato tutto, impostare la variabile 'PathTo7Zip' nello script nella posizione in cui sono stati scaricati questi file.

Lo script

@ECHO OFF ECHO Crea EXE da BAT ECHO Scritto da: Jason Faulkner ECHO SysadminGeek.com ECHO.ECO.Utilizzo REM: REM MakeExeFromBat BatFileToConvert [IncludeFile1] [IncludeFile2] [...] REM REM Parametri necessari: REM BatFileToConvert REM File batch sorgente da utilizzare per produrre il file Exe di output. REM REM Parametri opzionali: REM IncludeFile REM File aggiuntivi da includere nel file Exe. REM È possibile includere strumenti esterni utilizzati dal file batch in modo che siano disponibili sulla macchina in esecuzione. SETLOCAL REM Configuration( nessuna virgola richiesta): SET PathTo7Zip = REM ---- Non modificare nulla sotto questa riga ---- SET OutputFile = "% ~ n1.exe" SET SourceFiles = "% TEMP% MakeEXE_files.txt" SETConfig = "% TEMP% MakeEXE_config.txt" SET Source7ZFile = "% Temp% MakeEXE.7z" REM Rimuovi file esistenti SE ESIST.% OutputFile% DEL% OutputFile% REM Crea archivio sorgente ECHO "% ~ dpnx1" & gt;% SourceFiles%: AddInclude IF{ % 2} =={ } GOTO EndInclude ECHO "% ~ dpnx2" & gt; & gt;% SourceFiles% SHIFT / 2 GOTO AddInclude: EndInclude "% PathTo7Zip% 7za.exe" a% Source7ZFile% @% SourceFiles% REM Crea file di configurazione ECHO;! @ Install @! UTF-8!& Gt;% Config% ECHO RunProgram = "% ~ nx1" & gt; & gt;% Config% ECHO;! @ InstallEnd @!& Gt; & gt;% Config% REM Build EXE COPY / B "% PathTo7Zip% 7zsd.sfx" +% Config% +% Source7ZFile%% OutputFile% REM Pulizia IF EXIST% SourceFiles% DEL% SourceFiles% IF EXIST% Config% DEL% Config% IFESIST.% Source7ZFile% DEL% Source7ZFile% ENDLOCAL

Conclusione

È importante notare che mentre il file risultante viene eseguito esattamente come il file BAT di origine, non si tratta di una conversione da batch a eseguibile. Il file risultante è un file EXE, tuttavia è destinato a essere utilizzato per i programmi di installazione autoestraenti. Quando si esegue il file EXE risultante, il processo si comporta in questo modo:

  1. Il contenuto del file EXE viene estratto nella directory temporanea.
  2. Viene letto il file di configurazione generato dallo script.
  3. Il file batch contenuto nel file EXE viene eseguito in una nuova finestra di comando.
  4. Una volta terminato, i file temporanei vengono rimossi.

Su Windows Vista e sui nuovi SO, è possibile che venga visualizzata la seguente finestra di messaggio dopo l'esecuzione dello script. Dopo aver selezionato 'Questo programma è stato installato correttamente', la finestra di messaggio non verrà visualizzata in futuro per questo file.

Poiché il file EXE viene avviato in una nuova finestra, il modo tipico di registrare l'output( utilizzando il carattere "& gt;") non funzionerà come previsto. Per registrare l'output, è necessario gestirlo in modo nativo nello script di origine.

Nonostante questi piccoli inconvenienti, essere in grado di convertire un file batch in un eseguibile può davvero tornare utile. Collegamenti

Download

Crea EXE da script BAT da Sysadmin Geek

Scarica strumento da riga di comando 7-Zip

Scarica 7-Zip Advanced 7zSD SFX