ฉันจะแปลงสคริปต์แบตช์ Windows เป็น. exe ได้อย่างไร


24

ฉันมีสคริปต์แบทช์ที่ค่อนข้างเรียบง่ายที่ฉันต้องการเรียกใช้โดยใช้มาโครบนคีย์บอร์ดเกมแฟนซีของฉัน อย่างไรก็ตาม SteelSeries Engine รองรับเฉพาะการเปิดไฟล์. exe ด้วยปุ่มมาโคร มีวิธีการแปลงสคริปต์เป็นปฏิบัติการง่าย ๆ ?


2
Bash หรือ Batch? พวกเขาแตกต่างกันมากแม้ว่าจะมีวัตถุประสงค์ที่คล้ายกัน
แฟรงค์โทมัส

1
คุณสามารถใช้ AutoIt หรือ AutoHotKey พวกเขามีประสิทธิภาพมากขึ้นกว่าชุดและทั้งสองรวมถึงคอมไพเลอร์ในการสร้างแบบสแตนด์อโลน.exes
Daniel B

นี่คือวิธีการนี้สามารถทำได้โดยไม่มีเครื่องมือภายนอก
npocmaka

คำตอบ:


23

ใช่แล้ว มันไม่สวย แต่ก็สะอาด (ไม่มีอะไรจะทำความสะอาดหลังจากนั้น) และมันมีอยู่แล้วในระบบของคุณ!

ของคุณในโฟลเดอร์ที่มีไฟล์ที่เรียกว่า C:\Windows\System32\iexpress.exe

  • คลิกขวาที่มันRun as administratorและ
  • สร้าง SED ใหม่และเลือก "แตกไฟล์แล้วรันคำสั่งการติดตั้ง"
  • เพิ่มสคริปต์ที่คุณต้องการและตรวจสอบให้แน่ใจว่าในหน้าจอถัดไปคุณตั้งค่าโปรแกรมติดตั้งเป็นcmd /c [your_script.bat]ที่ [your_script.bat] เป็นไฟล์สคริปต์ที่คุณต้องการดำเนินการ หากคุณไม่ทำเช่นนี้ windows จะพยายามใช้ Command.com (Command Prompt รุ่นเก่า) ซึ่งไม่ได้ใช้งานมาระยะหนึ่งแล้ว
  • เลือกการตั้งค่า (คุณอาจต้องเลือก "จัดเก็บไฟล์โดยใช้ชื่อไฟล์แบบยาวภายในแพ็คเกจ) ตั้งค่าเส้นทางออก (เป็นไฟล์. exe ที่คุณต้องการสร้าง) และเลือก" ไม่รีสตาร์ท "
  • คลิกถัดไปและคุณควรมี. exe!

เพียงแค่ทราบว่าไฟล์นี้ทำหน้าที่เป็น wrapper สำหรับสคริปต์ของคุณเท่านั้นและสคริปต์นั้นจะถูกเรียกใช้งานในโฟลเดอร์ temp ที่สร้างขึ้นจากการเรียกใช้งาน (และลบทิ้งในภายหลัง) ดังนั้นโปรดอย่าใช้เส้นทางที่สัมพันธ์กัน


2
น่าเสียดายที่ AV องค์กรของเราสังเกตเห็นว่าผลลัพธ์ที่ปฏิบัติการได้นั้นเป็น "Cabinet Self-Extractor" และตั้งค่าสถานะเป็นกิจกรรมที่เป็นอันตราย
kmote

@kmote ฉันด้วย พวกเขาถามฉันเกี่ยวกับเรื่องนี้ครั้งก่อนเพราะอาจมีรายงานและฉันอธิบายว่ามันคืออะไรคราวนี้พวกเขาลบมันโดยไม่ถาม
ศูนย์

Niice ขอบคุณชายนี่ช่วยฉันสร้าง EXE จากสคริปต์ BAT ที่ฉันไม่สามารถทำได้ก่อนหน้านี้โดยใช้เครื่องมือต่าง ๆ ที่มีออนไลน์เช่น Bat2Exe ฯลฯ
Harsh Kanchina

12

นี่คือ 2 โปรแกรมฟรีที่ฉันแนะนำเป็นอย่างยิ่งสำหรับการสร้างไฟล์แบตช์ EXE

1 - Bat To exe Converter

2 - Bat 2 Exe

คุณสามารถใช้ทั้งสองโปรแกรมด้วย GUI ที่เรียบง่าย

Bat To Exe Converterรองรับคำสั่ง CLI ( \?ตั้งค่าสถานะเพื่อขอความช่วยเหลือ) ตัวอย่างพื้นฐานจากเอกสาร:

Bat_To_Exe_Converter.exe -bat mybatfile.bat -save myprogram.exe -icon myicon

Bat2Execอนุญาตให้คุณเพิ่มรายการผู้ดูแลระบบที่ฉันชอบ
ปุ

2
คุณสามารถให้บทสรุปอย่างรวดเร็วเกี่ยวกับวิธีการทำงานให้สำเร็จด้วยโปรแกรมเหล่านั้นได้หรือไม่? มันไม่เจ็บมีรายละเอียดเสริมในคำตอบ :)
เบน N

Advanced Bat 2 exe converter เป็น shareware
djibe


ไม่2 - ค้างคาว 2 Exeสนับสนุน CLI? ฉันไม่เห็นข้อมูลใด ๆ เกี่ยวกับเรื่องนี้
ผลิต

5

หากซอฟต์แวร์แป้นพิมพ์ของคุณรองรับการส่งผ่านของข้อโต้แย้งไปยังปฏิบัติการ (ซึ่งไม่น่าจะเป็นไปได้) คุณไม่จำเป็นต้องทำ

cmd.exe /c <path to batchfile>

จะเรียกใช้แบตช์ไฟล์และให้ไฟล์ปฏิบัติการที่ถูกต้องแก่คุณสำหรับซอฟต์แวร์คีย์บอร์ด ไม่จำเป็นต้องมีการแปลงหมายความว่าคุณสามารถเปลี่ยนแปลงค้างคาวของคุณได้อย่างง่ายดายโดยไม่ต้องทำตามขั้นตอนเพิ่มเติม


4

ฉันพบนี้บทความที่แสดงให้เห็นถึงวิธีการแปลงค้างคาวให้ไฟล์ exe โดยใช้ชุด 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

การดาวน์โหลดที่สำคัญ:


เป็นไปได้หรือไม่ที่จะทำให้ EXE echo เป็นบรรทัดคำสั่งเดียวกันกับที่มันรัน? (ตรงข้ามกับการเปิดหน้าต่างใหม่)
Stevoisiak
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.