30Aug

Mengkonversi sebuah Batch( BAT) Script ke Executable( EXE) File

click fraud protection

Ketika Anda turun ke sana, file batch dan file eksekusi bekerja dengan cara yang hampir sama. Keduanya hanya seperangkat instruksi dan logika untuk eksekusi Windows. Jadi mengapa Anda ingin mengubah file batch menjadi executable jika pada dasarnya bekerja sama? Berikut adalah beberapa alasannya: Portabilitas

  • - Anda dapat menyertakan alat tambahan pada file EXE yang bergantung pada file batch. Perlindungan
  • - EXE memberikan perlindungan untuk skrip sumber Anda untuk memastikan tidak dimodifikasi secara tidak sengaja.
  • Convenience - File executable dapat disematkan ke Windows Start Menu dan / atau Windows 7 Task Bar.

Dengan skrip di bawah ini, Anda dapat dengan mudah membuat file eksekusi Anda sendiri dari file batch, lengkap dengan dan memerlukan alat tertanam. Konfigurasi

Skrip ini mengambil keuntungan dari SFX 7-Zip maju( SelF eXtractor) untuk menggabungkan dan menjalankan file batch dengan alat yang disertakan. Jadi Anda perlu mendownload( link yang disediakan di akhir) dan mengekstraknya ke satu direktori.

instagram viewer

Setelah Anda mengunduh semuanya, setel variabel 'PathTo7Zip' di skrip ke lokasi di mana file-file ini didownload.

Script

@ECHO OFF ECHO Jadikan EXE Dari BAT ECHO Ditulis oleh: Jason Faulkner ECHO SysadminGeek.com ECHO.GEMA.REM Usage: REM MakeExeFromBat BatFileToConvert [IncludeFile1] [IncludeFile2] [...] REM REM Parameter yang dibutuhkan: REM BatFileToConvert file sumber REM batch yang akan digunakan untuk menghasilkan file Exe output. REM Opsional Parameter: REM IncludeFile REM File tambahan untuk disertakan dalam file Exe. REM Anda dapat menyertakan alat eksternal yang digunakan oleh file batch sehingga tersedia pada mesin pelaksana. Konfigurasi SETLOCAL REM( tidak ada tanda kutip yang diperlukan): SET PathTo7Zip = REM ---- Jangan ubah apapun di bawah baris ini ---- SET OutputFile = "% ~ n1.exe" SET SourceFiles = "% TEMP% MakeEXE_files.txt" SETConfig = "% TEMP% MakeEXE_config.txt" SET Source7ZFile = "% Temp% MakeEXE.7z" REM Hapus file yang ada IF EXIST% OutputFile% DEL% OutputFile% REM Bangun arsip sumber 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 Bangun file konfigurasi ECHO;! @ Install @! UTF-8!& gt;% Config% ECHO RunProgram = "% ~ nx1" & gt; & gt;% Config% ECHO;! @ InstallEnd @!& gt; & gt;% Config% REM Bangun EXE COPY / B "% PathTo7Zip% 7zsd.sfx" +% Config% +% Source7ZFile%% OutputFile% REM Bersihkan JIKA EXIST% SourceFiles% DEL% SourceFiles% IF EXIST% Config% DEL% Config% IFEXIST% Source7ZFile% DEL% Source7ZFile% ENDLOCAL

Kesimpulan

Penting untuk dicatat bahwa sementara file yang dihasilkan berjalan persis sama dengan file sumber BAT, ini bukan batch yang benar untuk konversi yang dapat dijalankan. File yang dihasilkan adalah EXE, namun ini dimaksudkan untuk digunakan untuk installer self-extracting. Ketika Anda menjalankan file EXE yang dihasilkan, prosesnya berjalan seperti ini:

  1. Isi file EXE diekstraksi ke direktori temp.
  2. File konfigurasi yang dihasilkan oleh naskah dibaca.
  3. File batch yang terdapat dalam file EXE dijalankan di jendela perintah baru.
  4. Setelah selesai, file temp akan dihapus.

Pada Windows Vista dan OS baru, Anda mungkin melihat kotak pesan berikut setelah skrip dijalankan. Setelah memilih 'Program ini terinstal dengan benar', kotak pesan tidak akan ditampilkan di masa depan untuk file ini.

Karena file EXE diluncurkan di jendela baru, cara pembalakan yang khas( dengan menggunakan char '& gt;') tidak akan berjalan seperti yang diharapkan. Untuk mencatat output, Anda perlu menangani ini secara native dalam skrip sumber Anda.

Meskipun ketidaknyamanan kecil ini, karena bisa mengubah file batch menjadi executable, bisa sangat berguna.

Links

Download Membuat EXE dari BAT Script dari Sysadmin Geek

Download Alat Baris Perintah 7-Zip

Download 7-Zip Advanced 7zSD SFX