Ketika Anda mendapatkannya, file batch dan file yang dapat dieksekusi bekerja cukup banyak dengan cara yang sama. Keduanya hanyalah seperangkat instruksi dan logika untuk mengeksekusi Windows. Jadi mengapa Anda ingin mengkonversi file batch menjadi executable jika mereka pada dasarnya bekerja sama? Berikut beberapa alasannya:
Dengan skrip di bawah ini, Anda dapat dengan mudah membuat file yang dapat dieksekusi sendiri dari file batch, lengkap dengan dan memerlukan alat yang disematkan.
Skrip ini memanfaatkan SFX canggih 7-Zip (SelF eXtractor) untuk menggabungkan dan menjalankan file batch dengan alat apa pun yang disertakan. Jadi Anda perlu mengunduh (tautan yang disediakan di bagian akhir) ini dan mengekstraknya ke satu direktori.
Setelah Anda mengunduh semuanya, setel variabel 'PathTo7Zip' di skrip ke lokasi tempat file-file ini diunduh.
@ECHO OFF ECHO Membuat EXE Dari BAT ECHO Ditulis oleh: Jason Faulkner ECHO SysadminGeek.com ECHO. GEMA. REM Penggunaan: REM MakeExeFromBat BatFileToConvert [IncludeFile1] [IncludeFile2] […] REM REM Diperlukan Parameter: REM BatFileToConvert REM Sumber file batch yang digunakan untuk menghasilkan output Exe file. REM REM Opsional Parameter: REM IncludeFile REM file tambahan untuk dimasukkan dalam file Exe. REM Anda dapat menyertakan alat eksternal yang digunakan oleh file batch sehingga mereka tersedia di mesin eksekusi. SETLOCAL REM Configuration (tidak diperlukan tanda kutip): SET PathTo7Zip = REM ---- Jangan modifikasi apa pun di bawah baris ini ---- SET OutputFile = "% ~ n1.exe" SET SourceFiles = "% TEMP% MakeEXE_files.txt" SET Config = "% TEMP% MakeEXE_config.txt" SET Source7ZFile = "% Temp% MakeEXE.7z" REM Hapus file yang ada IF EXIST% OutputFile% DEL% OutputFile% REM Membangun arsip sumber ECHO "% ~ dpnx1">% SourceFiles%: AddInclude JIKA % 2 == GOTO EndInclude ECHO "% ~ dpnx2" >>% SourceFiles% SHIFT / 2 GOTO AddInclude: EndInclude "% PathTo7Zip% 7za.exe" a% Source7ZFile% @% SourceFiles% REM Membangun file konfigurasi ECHO ;! @ Instal @! UTF-8! >% Config% ECHO RunProgram = "% ~ nx1" >>% Config% ECHO;! @ InstallEnd @! >>% Config% REM Build EXE COPY / B "% PathTo7Zip% 7zsd.sfx" +% Config% +% Source7ZFile%% OutputFile% REM Bersihkan JIKA ADA BUKA% SourceFiles% DEL% SourceFiles% IF EXIST% Config% DEL% Config % JIKA ADA% Sumber7ZFile% DEL% Source7ZFile% ENDLOCAL
Penting untuk dicatat bahwa sementara file yang dihasilkan berjalan persis sama dengan file BAT sumber, ini bukan batch yang benar untuk konversi yang dapat dieksekusi. File yang dihasilkan adalah EXE, namun dimaksudkan untuk digunakan untuk installer yang melakukan self-extracting. Ketika Anda mengeksekusi file EXE yang dihasilkan, prosesnya berjalan seperti ini:
Pada Windows Vista dan OS baru, Anda dapat melihat kotak pesan berikut setelah skrip dijalankan. Setelah memilih 'Program ini diinstal dengan benar', kotak pesan tidak akan ditampilkan di masa depan untuk file ini.
Karena file EXE diluncurkan di jendela baru, cara umum untuk mencatat output (menggunakan char '>') tidak akan berfungsi seperti yang diharapkan. Untuk mencatat output, Anda harus menangani ini secara asli di skrip sumber Anda.
Meskipun ketidaknyamanan kecil ini, mampu mengkonversi file batch ke eksekusi dapat benar-benar berguna.
Unduh Make EXE dari BAT Script dari Sysadmin Geek
Unduh Alat Baris Perintah 7-Zip
Unduh 7-Zip Advanced 7zSD SFX