Konwertuj EXE na BAT
Utwórz launcher BAT dla pliku EXE systemu Windows, odzyskaj skrypty ze znanych wrapperów i unikaj fałszywych narzędzi konwersji.
Konwertuj pliki EXE online
Nie mamy jeszcze dedykowanego konwertera online dla EXE na BAT, ale pliki EXE możesz przekonwertować online na te formaty:
Jak konwertować exe do bat
- Programowanie
- Ocena: 2.3/5
Starszy system wdrażania, zaplanowane zadanie lub narzędzie dostawcy może akceptować wyłącznie skrypt poleceń .bat, podczas gdy dostępny program jest plikiem .exe. Skompilowanego pliku wykonywalnego nie można zwykle przekształcić w równoważne polecenia wsadowe; praktycznym rozwiązaniem jest zazwyczaj launcher BAT uruchamiający plik EXE.
Pliki EXE
Plik EXE to plik wykonywalny używany głównie przez Windows. Większość obecnych plików wykonywalnych Windows korzysta z formatu Portable Executable (PE) i może zawierać natywny kod skompilowany, kod .NET, instalatory, zasoby, zależności DLL, dane konfiguracyjne lub osadzone payloady.
Pliki EXE tworzą deweloperzy oprogramowania, twórcy instalatorów, narzędzia publikowania .NET, kompilatory C/C++ oraz pakery BAT-to-EXE. Windows może uruchamiać je z poziomu Eksploratora, cmd.exe, PowerShell, Harmonogramu zadań lub oprogramowania wdrożeniowego.
Zmiana nazwy Program.exe na Program.bat nie powoduje konwersji i sprawia, że plik nie może być używany jako plik wykonywalny. Dekompilacja programu .NET może czasami wygenerować kod źródłowy przypominający C# do celów inspekcji, ale nie tworzy funkcjonalnego skryptu wsadowego CMD.
Pliki BAT
Plik BAT to zwykły plik tekstowy interpretowany przez cmd.exe. Może uruchamiać programy, ustawiać zmienne środowiskowe, zmieniać katalogi, sprawdzać kody wyjścia, przekierowywać dane wyjściowe, kopiować pliki i wywoływać inne skrypty.
Pliki BAT są przydatne jako edytowalne wrappery uruchamiające, szczególnie gdy system odbierający wymaga jawnie składni CMD. Są małe, ale nie zastępują pliku EXE ani nie zmniejszają rozmiaru wdrożenia, ponieważ oryginalny plik wykonywalny i jego wymagane pliki nadal muszą zostać rozpowszechnione.
Tworzenie launchera BAT
Utwórz plik BAT w tym samym folderze co plik wykonywalny, używając Notepad, Notepad++ lub Visual Studio Code. Użyj następującej postaci, gdy program oczekuje, że jego katalogiem roboczym będzie jego własny folder:
@echo off
setlocal DisableDelayedExpansion
pushd "%~dp0" || exit /b 1
"MyProgram.exe" %*
set "rc=%errorlevel%"
popd
endlocal & exit /b %rc%
Zastąp MyProgram.exe rzeczywistą nazwą pliku. %~dp0 rozwija się do folderu zawierającego plik BAT, dlatego launcher działa nawet po uruchomieniu z innego bieżącego katalogu. %* przekazuje argumenty podane do pliku BAT, na przykład RunMyProgram.bat --quiet.
Aby dodać stałe opcje, umieść je przed %*:
"MyProgram.exe" --install --quiet %*
Zapisz plik za pomocą opcji File → Save as jako RunMyProgram.bat, wybierz All files zamiast Text documents i sprawdź, czy plik nie nosi nazwy RunMyProgram.bat.txt. Użyj ASCII, gdy ważna jest zgodność ze starszymi środowiskami CMD; znaki spoza ASCII zależą od aktywnej strony kodowej Windows i kodowania skryptu.
Przekieruj dane wyjściowe konsoli, gdy potrzebna jest diagnostyka:
"MyProgram.exe" %* >> "%~dp0MyProgram.log" 2>&1
Spowoduje to dopisywanie standardowego wyjścia i błędów do pliku MyProgram.log. Aplikacje GUI często nie generują danych wyjściowych konsoli, więc pusty dziennik nie dowodzi, że program nie został uruchomiony.
Nie używaj start, chyba że plik BAT musi uruchamiać program asynchronicznie. Ścieżka ujęta w cudzysłowy wymaga pustego argumentu tytułu:
start "" "%~dp0MyProgram.exe" %*
W przypadku asynchronicznego start plik BAT może zgłosić jedynie, czy Windows zaakceptował żądanie uruchomienia; nie może zwrócić ostatecznego kodu wyjścia uruchomionego programu.
Odzyskiwanie oryginalnego pliku BAT
Jeśli plik EXE został utworzony przez pakera BAT-to-EXE, może zawierać oryginalny skrypt, zaszyfrowany skrypt albo wyłącznie skompilowaną logikę wrappera. Odzyskanie zależy od konkretnego pakera i jego ustawień; nie istnieje uniwersalny konwerter EXE-to-BAT.
Najpierw uzyskaj oryginalny kod źródłowy BAT lub projekt od jego autora, z repozytorium kontroli wersji albo z danych wyjściowych kompilacji. Jeśli nie jest to możliwe, zidentyfikuj pakera i użyj jego udokumentowanej funkcji wyodrębniania lub dekompilacji, jeśli taka istnieje. Nie uruchamiaj nieznanego pliku EXE w celu jego sprawdzenia.
7-Zip lub PeaZip mogą otwierać niektóre pliki EXE instalatorów i samorozpakowujących się archiwów. Może to ujawnić pliki payloadu lub osadzony skrypt, ale wyodrębnianie plików nie konwertuje skompilowanego kodu aplikacji na polecenia wsadowe. Narzędzia do inspekcji zasobów mogą ujawnić zasoby tekstowe w niektórych plikach wykonywalnych, ale chronione, zaszyfrowane lub skompilowane wrappery mogą nie udostępniać użytecznego kodu źródłowego.
Ograniczenia zgodności i bezpieczeństwa
Launcher BAT wymaga, aby na komputerze docelowym znajdowały się oryginalny plik EXE, jego pliki DLL, pliki konfiguracyjne, sterowniki i zależności środowiska uruchomieniowego. Ujmowanie ścieżek w cudzysłowy chroni spacje w nazwach plików, ale złożone ujmowanie argumentów w CMD pozostaje podatne na błędy, gdy argumenty zawierają znaki specjalne, takie jak &, |, < lub >.
Jeśli plik EXE wymaga uprawnień administratora, plik BAT nie nadaje podwyższonych uprawnień. Użyj podniesionego poziomu uprawnień w Wierszu polecenia, zadania Harmonogramu zadań skonfigurowanego z zatwierdzonymi najwyższymi uprawnieniami albo mechanizmu wdrażania organizacji.
Nie przesyłaj plików wykonywalnych do internetowych witryn konwersji. Nie mogą one niezawodnie odtworzyć skompilowanego kodu jako poleceń CMD, a ponadto mogą ujawnić zastrzeżone pliki binarne, dane uwierzytelniające, instalatory lub malware. Odpowiednimi opcjami są lokalne narzędzia do edycji oraz, w przypadku znanych wrapperów, lokalna inspekcja archiwów.
W przypadku złożonej logiki wdrażania PowerShell zwykle zapewnia lepszą obsługę Unicode, strukturalną obsługę błędów i ujmowanie argumentów niż CMD. Zachowaj mały launcher BAT tylko wtedy, gdy system docelowy wymaga konkretnie pliku .bat.
Porównanie formatu EXE z BAT
Jak formaty EXE i BAT wypadają w porównaniu pod względem najważniejszych cech dla tej konwersji.
| Cecha | .EXE Portable Executable | .BAT Windows Batch File |
|---|---|---|
| Otwarty standard | Nie | Nie |
| Kompresja | Bez kompresji | Bez kompresji |
| Typowy rozmiar pliku | Duży | Bardzo mały |
| Otwiera się w przeglądarce internetowej | Nie | Nie |
| Dalsza edycja | Nie do bezpośredniej edycji | Łatwy |
| Obsługa metadanych | Rozbudowany | Brak |
| Czytelny tekstowo | Nie | Tak |
| Najlepszy do | Osadzanie w aplikacjach | Osadzanie w aplikacjach |
| Wprowadzono | 1993 | 1981 |
| Twórca | Microsoft | Microsoft |