Bagaimana saya bisa mengubah skrip batch Windows menjadi .exe?

23

Saya memiliki skrip batch yang cukup sederhana yang ingin saya jalankan menggunakan makro pada keyboard gaming mewah saya. Namun, SteelSeries Engine hanya mendukung pembukaan file .exe dengan tombol makro. Apakah ada cara untuk mengubah script menjadi executable sederhana?

Chase Sandmann
sumber
2
Bash atau Batch? Mereka sangat berbeda, meskipun tujuannya sangat mirip.
Frank Thomas
1
Anda juga bisa menggunakan AutoIt atau AutoHotKey. Mereka lebih kuat daripada Batch dan keduanya termasuk kompiler untuk menghasilkan mandiri .exe.
Daniel B
Inilah cara ini dapat dilakukan tanpa alat eksternal
npocmaka

Jawaban:

21

Ya, sebenarnya. Ini tidak cantik, tapi bersih (tidak ada yang perlu dibersihkan setelahnya) dan sebenarnya sudah ada di dalam sistem Anda!

Di C:\Windows\System32\folder Anda , ada file bernama iexpress.exe.

  • Klik kanan sebuah Run as administrator.
  • Buat SED baru dan pilih "Ekstrak file dan jalankan perintah instalasi."
  • Tambahkan skrip yang Anda inginkan, dan pastikan bahwa pada layar berikutnya, Anda mengatur program instal ke cmd /c [your_script.bat]tempat [your_script.bat] adalah file skrip yang ingin Anda jalankan. Jika Anda tidak melakukan ini, windows akan mencoba menggunakan Command.com (versi lama dari Command Prompt) yang sudah lama tidak digunakan.
  • Pilih preferensi (Anda mungkin perlu memilih "Simpan file menggunakan Nama File Panjang di dalam Paket), tetapkan jalur output (ke file .exe yang ingin Anda buat), dan pilih" No restart ".
  • Klik berikutnya dan Anda harus memiliki .exe!

Sebagai catatan, file ini sebenarnya hanya bertindak sebagai pembungkus untuk skrip Anda, dan skrip itu sendiri sebenarnya dieksekusi dalam folder temp yang dibuat saat eksekusi (dan dihapus setelahnya), jadi pastikan Anda tidak menggunakan jalur relatif apa pun.

Chase Sandmann
sumber
2
Sayangnya, AV perusahaan kami memperhatikan bahwa executable yang dihasilkan adalah "Cabinet Self-Extractor" dan menandainya sebagai aktivitas jahat.
kmote
@ Kmote juga saya. mereka bertanya kepada saya tentang itu sebelumnya karena mungkin muncul dalam laporan dan saya menjelaskan apa itu, kali ini mereka hanya menghapusnya tanpa bertanya.
Nol
13

Berikut adalah 2 program gratis yang sangat saya rekomendasikan untuk membuat file batch EXE

1 - Konverter Kelelawar Ke Exe

2 - Kelelawar 2 Exe

Anda dapat menggunakan kedua program dengan GUI sederhana.

Bat To Exe Convertermendukung juga perintah CLI ( \?flag for help). Contoh dasar dari dokumentasi:

Bat_To_Exe_Converter.exe -bat mybatfile.bat -save myprogram.exe -icon myicon
rammi
sumber
Bat2Execmemungkinkan Anda untuk menambahkan manifes Administrator yang saya sukai.
Pun
2
Bisakah Anda juga memberikan ikhtisar singkat tentang cara menyelesaikan tugas dengan program-program itu? Tidak ada salahnya untuk memiliki detail ekstra dalam jawaban :)
Ben N
Konverter Advanced Bat 2 Exe adalah shareware
djibe
Apakah 2 - Bat 2 Exe mendukung CLI? Saya tidak dapat melihat info tentang ini.
Ste
5

Jika perangkat lunak keyboard Anda mendukung berlalunya argumen ke executable (yang bukan tidak mungkin) Anda tidak perlu melakukannya.

cmd.exe /c <path to batchfile>

akan menjalankan file batch, dan memberi Anda executable yang valid untuk memberi nama untuk perangkat lunak keyboard. Tidak perlu konversi berarti Anda selalu dapat dengan mudah melakukan perubahan pada kelelawar tanpa perlu langkah tambahan.

Syberdoor
sumber
4

Saya menemukan artikel ini yang menunjukkan kepada Anda cara mengkonversi file .bat ke .exe menggunakan batch-scipt:

@ECHO OFF
ECHO Make EXE From BAT
ECHO Written by: Jason Faulkner
ECHO SysadminGeek.com
ECHO.
ECHO.

REM Usage:
REM MakeExeFromBat BatFileToConvert [IncludeFile1] [IncludeFile2] [...]
REM
REM Required Parameters:
REM  BatFileToConvert
REM      Source batch file to use to produce the output Exe file.
REM
REM Optional Parameters:
REM  IncludeFile
REM      Additional files to include in the Exe file.
REM      You can include external tools used by the batch file so they are available on the executing machine.

SETLOCAL

REM Configuration (no quotes needed):
SET PathTo7Zip=


REM ---- Do not modify anything below this line ----

SET OutputFile="%~n1.exe"
SET SourceFiles="%TEMP%MakeEXE_files.txt"
SET Config="%TEMP%MakeEXE_config.txt"
SET Source7ZFile="%Temp%MakeEXE.7z"

REM Remove existing files
IF EXIST %OutputFile% DEL %OutputFile%

REM Build source archive
ECHO "%~dpnx1" > %SourceFiles%
:AddInclude
IF {%2}=={} GOTO EndInclude
ECHO "%~dpnx2" >> %SourceFiles%
SHIFT /2
GOTO AddInclude
:EndInclude
"%PathTo7Zip%7za.exe" a %Source7ZFile% @%SourceFiles%

REM Build config file
ECHO ;!@Install@!UTF-8! > %Config%
ECHO RunProgram="%~nx1" >> %Config%
ECHO ;!@InstallEnd@! >> %Config%

REM Build EXE
COPY /B "%PathTo7Zip%7zsd.sfx" + %Config% + %Source7ZFile% %OutputFile%

REM Clean up
IF EXIST %SourceFiles% DEL %SourceFiles%
IF EXIST %Config% DEL %Config%
IF EXIST %Source7ZFile% DEL %Source7ZFile%

ENDLOCAL

Unduhan penting:

Stackcraft_noob
sumber
Apakah mungkin untuk membuat gema EXE ke baris perintah yang sama itu dijalankan? (Berbeda dengan membuka jendela baru)
Stevoisiak