Jak przekonwertować skrypt wsadowy systemu Windows na plik .exe?

24

Mam dość prosty skrypt wsadowy, który chciałbym wykonać za pomocą makra na mojej fantazyjnej klawiaturze do gier. Jednak SteelSeries Engine obsługuje tylko otwieranie pliku .exe za pomocą przycisków makr. Czy jest jakiś sposób przekonwertować skrypt na prosty plik wykonywalny?

Chase Sandmann
źródło
2
Bash czy Batch? Są dość różne, mimo że są tak podobne w celu.
Frank Thomas
1
Możesz także użyć AutoIt lub AutoHotKey. Są bardziej wydajne niż Batch i oba zawierają kompilatory do generowania samodzielnych .exeplików.
Daniel B
Oto, jak można to zrobić bez zewnętrznych narzędzi
npocmaka,

Odpowiedzi:

23

Tak, właściwie Nie jest ładna, ale jest czysta (nie ma nic do wyczyszczenia później) i faktycznie jest wbudowana w twój system!

W twoim C:\Windows\System32\folderze znajduje się plik o nazwie iexpress.exe.

  • Kliknij go prawym przyciskiem myszy Run as administrator.
  • Utwórz nowy SED i wybierz „Wyodrębnij pliki i uruchom polecenie instalacji”.
  • Dodaj cmd /c [your_script.bat]żądany skrypt i upewnij się, że na następnym ekranie ustawisz program instalacyjny w miejscu, gdzie [twój_ skrypt.bat] to plik skryptu, który chcesz uruchomić. Jeśli tego nie zrobisz, system Windows spróbuje użyć Command.com (starej wersji wiersza polecenia), który nie był używany od dłuższego czasu.
  • Wybierz preferencje (może być konieczne wybranie opcji „Przechowuj pliki przy użyciu długiej nazwy pliku w pakiecie), ustaw ścieżkę wyjściową (do pliku .exe, który chcesz utworzyć) i wybierz„ Bez ponownego uruchomienia ”.
  • Kliknij Dalej, a powinieneś mieć swój plik .exe!

Uwaga: ten plik faktycznie działa tylko jako opakowanie dla twojego skryptu, a sam skrypt faktycznie jest wykonywany w folderze tymczasowym utworzonym podczas wykonywania (i usuwanym później), więc upewnij się, że nie używasz żadnych ścieżek względnych.

Chase Sandmann
źródło
2
Niestety, nasz korporacyjny AV zauważył, że wynikowy plik wykonywalny to „Cabinet Self-Extractor” i oznaczył go jako złośliwą aktywność.
kmote
@ kmote też mnie. zapytali mnie o to raz wcześniej, ponieważ prawdopodobnie pojawił się w raporcie, a ja wyjaśniłem, co to jest, tym razem po prostu usunęli go bez pytania.
Zero
Niice Dzięki człowieku. Pomogło mi to stworzyć plik EXE ze skryptu BAT, którego wcześniej nie byłem w stanie zrobić przy użyciu różnych narzędzi dostępnych online, takich jak Bat2Exe itp.,
Harsh Kanchina
12

Oto 2 bezpłatne programy, które bardzo polecam do tworzenia plików EXE poza plikami wsadowymi

1 - Bat To Exe Converter

2 - Bat 2 Exe

Możesz używać obu programów z prostym GUI.

Bat To Exe Converterobsługuje także polecenia CLI ( \?flaga pomocy). Podstawowy przykład z dokumentacji:

Bat_To_Exe_Converter.exe -bat mybatfile.bat -save myprogram.exe -icon myicon
rammi
źródło
Bat2Execpozwala dodać manifest administratora, który mi się podobał.
pun
2
Czy mógłbyś również szybko podsumować, jak wykonać zadanie za pomocą tych programów? Nigdy nie boli mieć dodatkowych szczegółów w odpowiedzi :)
Ben N
Zaawansowany konwerter Bat 2 Exe jest oprogramowaniem shareware
djibe
Czy 2 - Bat 2 Exe obsługuje CLI? Nie widzę żadnych informacji na ten temat.
Ste
5

Jeśli oprogramowanie klawiatury obsługuje przekazywanie argumentów do pliku wykonywalnego (co nie jest nieprawdopodobne), nie musisz.

cmd.exe /c <path to batchfile>

uruchomiłby plik wsadowy i podał poprawny plik wykonywalny do nazwania oprogramowania klawiatury. Nie jest wymagana konwersja, co oznacza, że ​​zawsze możesz łatwo wprowadzać zmiany w swoim nietoperzu bez dodatkowych kroków.

Syberdoor
źródło
4

Znalazłem ten artykuł, który pokazuje, jak przekonwertować plik .bat na plik .exe za pomocą polecenia wsadowego:

@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

Ważne pliki do pobrania:

Stackcraft_noob
źródło
Czy jest możliwe, aby plik EXE zadziałał w tym samym wierszu poleceń, z którego został uruchomiony? (W przeciwieństwie do otwierania nowego okna)
Stevoisiak