Homepage » come » Convertire uno script BAT (BAT) in un file eseguibile (EXE)

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

    Quando ci arrivi, 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 sarà necessario scaricare (collegamenti forniti alla fine) questi ed estrarli in una singola directory.

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

    Il copione

    @ECHO OFF ECHO Make 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 File di origine REM 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" SET Config = "% TEMP% MakeEXE_config.txt" SET Source7ZFile = "% Temp% MakeEXE.7z" REM Rimuovi file esistenti SE ESISTA% OutputFile% DEL% OutputFile% REM Crea archivio di origine ECHO "% ~ dpnx1">% SourceFiles%: AddInclude IF % 2 ==  GOTO EndInclude ECHO "% ~ dpnx2" >>% SourceFiles% SHIFT / 2 GOTO AddInclude: EndInclude "% PathTo7Zip% 7za.exe" a% Source7ZFile% @% SourceFiles% REM Crea file di configurazione ECHO ;! @ @ Installare UTF-8! >% Config% ECHO RunProgram = "% ~ nx1" >>% Config% ECHO;! @ InstallEnd @! >>% Config% REM Build EXE COPY / B "% PathTo7Zip% 7zsd.sfx" +% Config% +% Source7ZFile%% OutputFile% REM Pulizia IF EXIST% SourceFiles% DEL% SourceFiles% IF EXIST% Config% DEL% Config % SE ESIST.% 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 vera 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 ">") 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.

    link

    Scarica Make EXE da BAT Script di Sysadmin Geek

    Scarica 7-Zip Command Line Tool

    Scarica 7-Zip Advanced 7zSD SFX