Laman » bagaimana untuk » Tukar Skrip Batch (BAT) ke Fail Eksekusi (EXE)

    Tukar Skrip Batch (BAT) ke Fail Eksekusi (EXE)

    Apabila anda turun ke bawah, kumpulan fail dan fail boleh laku berfungsi dengan cara yang sama. Kedua-duanya hanyalah satu set arahan dan logik untuk melaksanakan Windows. Jadi, mengapa anda ingin menukar fail batch kepada executable jika mereka pada dasarnya bekerja sama? Berikut adalah beberapa sebab:

    • Kemudahalihan - anda boleh memasukkan alat tambahan dalam fail EXE anda bahawa fail batch bergantung pada.
    • Perlindungan - EXE menyediakan perlindungan untuk skrip sumber anda untuk memastikan ia tidak diubah suai secara tidak sengaja.
    • Kemudahan - Fail boleh laku boleh disematkan pada Windows Start Menu dan / atau Windows 7 Task Bar.

    Dengan skrip di bawah, anda boleh dengan mudah membina fail eksekusi anda sendiri dari fail kelompok, lengkap dengan dan alat yang dibenamkan diperlukan.

    Konfigurasi

    Skrip ini mengambil kesempatan daripada SFX maju 7-Zip (SelF eXtractor) untuk mengikat dan melaksanakan fail kumpulan dengan mana-mana alat yang termasuk. Oleh itu, anda perlu memuat turun (pautan yang disediakan pada akhir) ini dan mengekstraknya ke satu direktori.

    Sebaik sahaja anda mempunyai semua muat turun, tetapkan pembolehubah 'PathTo7Zip' dalam skrip ke lokasi di mana fail-fail ini dimuat turun.

    Skrip

    @ECHO OFF ECHO Buat EXE Dari BAT ECHO Ditulis oleh: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. REM Penggunaan: REM MakeExeFromBat BatFileToConvert [IncludeFile1] [IncludeFile2] [...] REM REM Parameter yang Diperlukan: REM BatFileToConvert REM Sumber berkas fail untuk digunakan untuk menghasilkan fail Exe output. REM REM Parameter pilihan: REM IncludeFile REM Fail tambahan untuk dimasukkan ke dalam fail Exe. REM Anda boleh memasukkan alat luaran yang digunakan oleh fail batch supaya mereka boleh didapati di mesin pelaksana. SETLOCAL REM Configuration (no quotes needed): SET PathTo7Zip = REM ---- Jangan ubah apa-apa 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 Buang fail yang ada JIKA EXIST% OutputFile% DEL% OutputFile% REM Membina arkib sumber ECHO "% ~ dpnx1">% SourceFiles%: AddInclude JIKA % 2 ==  GOTO EndInclude ECHO "% ~ dpnx2" >>% SourceFiles% SHIFT / 2 GOTO AddInclude: EndInclude "% PathTo7Zip% 7za.exe" a% Source7ZFile% ;! @ Pasang @! UTF-8! >% Config% ECHO RunProgram = "% ~ nx1" >>% Config% ECHO;! @ InstallEnd @! >>% Config% REM Build EXE COPY / B "% PathTo7Zip% 7zsd.sfx" +% Config% +% Source7ZFile%% OutputFile% REM Clean up JIKA EXIST% SourceFiles% DEL% SourceFiles% JIKA EXIST% Config% DEL% Config % JIKA EXIST% Source7ZFile% DEL% Source7ZFile% ENDLOCAL

    Kesimpulannya

    Adalah penting untuk diperhatikan bahawa walaupun fail yang dihasilkan berjalan sama seperti fail BAT sumber, ini bukan batch yang benar untuk penukaran boleh laku. Fail yang dihasilkan adalah EXE, namun ia bertujuan untuk digunakan untuk pemasang diri. Apabila anda melaksanakan fail EXE yang terhasil, proses berjalan seperti ini:

    1. Kandungan fail EXE diekstrak ke direktori temp.
    2. Fail konfigurasi yang dihasilkan oleh skrip dibaca.
    3. Fail kumpulan yang terkandung dalam fail EXE dilaksanakan dalam tetingkap arahan baru.
    4. Setelah selesai, fail temp dikeluarkan.

    Pada Windows Vista dan OS baru, anda boleh melihat kotak mesej berikut selepas skrip dijalankan. Selepas memilih 'Program ini dipasang dengan betul', kotak mesej tidak akan dipaparkan pada masa hadapan untuk fail ini.

    Kerana fail EXE dilancarkan dalam tetingkap baru, cara penebangan biasa (menggunakan '>' char) tidak akan berfungsi seperti yang diharapkan. Untuk log output, anda perlu mengendalikannya secara native dalam skrip sumber anda.

    Walaupun kesulitan kecil ini, dapat menukar fail batch ke executable benar-benar boleh berguna.

    Pautan

    Muat turun Buat EXE dari BAT Script dari Sysadmin Geek

    Muat turun 7-Zip Command Line Tool

    Muat turun 7-Zip Advanced 7zSD SFX