Co to jest format pliku CMD?
Plik .cmd to tekstowy skrypt poleceń Windows NT wykonywany przez cmd.exe, czyli interpreter wiersza poleceń systemu Windows. Jest niemal identyczny ze starszym formatem plików wsadowych .BAT, z jedną ważną różnicą w zachowaniu: plik .cmd zawsze uruchamia się z włączonymi rozszerzeniami poleceń (command extensions), co daje dostęp do rozszerzonej składni IF/FOR, podprogramów CALL :label, rozszerzeń ścieżek %~nx0 i niezawodnej obsługi ERRORLEVEL - bez konieczności konfiguracji rejestru.
Wprowadzone w 1993 roku wraz z Windows NT 3.1 obok nowego interpretera cmd.exe, rozszerzenie .cmd było sposobem Microsoft na odróżnienie natywnych skryptów NT od starszych plików .bat systemu DOS, które działały pod kontrolą COMMAND.COM. Oba rozszerzenia pozostają w pełni obsługiwane aż do systemu Windows 11.
Skrypt .cmd składa się z sekwencyjnych poleceń cmd.exe, etykiet (:nazwa), słów kluczowych sterowania przepływem (GOTO, CALL, IF, FOR) oraz rozwinięć zmiennych (%VAR%). Bloki SETLOCAL/ENDLOCAL izolują zmiany zmiennych środowiskowych do zakresu skryptu. Nie istnieją żadne magic bytes - plik jest zwykłym tekstem, zazwyczaj zapisywanym w kodowaniu ANSI/Windows-1252; UTF-8 działa, ale znacznik kolejności bajtów (BOM) na początku może uszkodzić pierwszą linię poleceń.
Pliki .cmd są wykonywalne: dwukrotne kliknięcie powoduje natychmiastowe uruchomienie wszystkich poleceń. Zawsze sprawdzaj niezaufany plik .cmd w edytorze tekstu przed jego uruchomieniem. W przypadku nowoczesnej automatyzacji w systemie Windows preferowane są skrypty PowerShell (.ps1), choć .cmd pozostaje niezbędny w starszych systemach i do lekkiej automatyzacji zadań.
Bezpieczeństwo
RYZYKO: HIGHPlik .cmd jest WYKONYWALNY: dwukrotne kliknięcie go uruchamia każde polecenie natychmiast z uprawnieniami użytkownika. Może usuwać lub szyfrować pliki, zmieniać ustawienia systemu, pobierać dodatkowe złośliwe oprogramowanie, wyłączać narzędzia bezpieczeństwa lub wykradać dane. Jest to standardowy format dostarczania złośliwego oprogramowania, często maskowany jako „poprawka”, „instalator”, „optymalizator” lub „crack aktywacyjny”, powszechnie przesyłany jako załącznik do wiadomości e-mail lub pobierany z fałszywych stron pomocy technicznej. BEZPIECZNA OBSŁUGA: nigdy nie klikaj dwukrotnie niezaufanego pliku .cmd. Aby go sprawdzić, kliknij prawym przyciskiem myszy > Pokaż więcej opcji > Edytuj (otwiera się w programie Notepad bez wykonywania). Szukaj następujących sygnałów ostrzegawczych: polecenia wywołujące powershell/curl/bitsadmin/certutil w celu pobrania plików, ciągi zakodowane w base64, próby wyłączenia Windows Defender lub UAC, zapisy w folderach AppData/system lub długie, zaciemnione ciągi znaków z ucieczkami daszka (^). W razie wątpliwości prześlij plik do VirusTotal (jest to plik tekstowy, bezpieczny do przesłania) i uruchamiaj go tylko wewnątrz maszyny wirtualnej/piaskownicy. Uwaga: pliki .cmd pochodzące ze znanego oprogramowania (wrappery Gradle, Maven, Node.js) są bezpieczne, ale nadal powinny pochodzić z ich oficjalnych dystrybucji, a nie z witryn osób trzecich.
Szczegóły formatu
w pigułceProgramy otwierające pliki CMD
Szczegóły techniczne
specyfikacja| Kodowanie | Tekst - zazwyczaj ANSI/Windows-1252 lub ASCII; UTF-8 jest obsługiwany, ale BOM na początku może uszkodzić pierwsze polecenie |
| Kontener | Zwykły tekst |
| Szyfrowanie | Brak (zwykły tekst; brak wbudowanego podpisywania kodu w przeciwieństwie do skryptów PowerShell .ps1) |
| Typowy rozmiar | 100 bajtów - 100 KB |
| Struktura | Sekwencyjne polecenia cmd.exe, etykiety (:nazwa), sterowanie przepływem IF/FOR/GOTO/CALL, rozwinięcia %VAR%, bloki SETLOCAL/ENDLOCAL |
| Rozszerzenia poleceń | Zawsze włączone w plikach .cmd (w przeciwieństwie do .bat, który zależy od ustawienia EnableExtensions w rejestrze) |
| Interpreter | cmd.exe (nie starszy COMMAND.COM używany dla plików .bat systemu DOS) |
| Magic bytes | Brak - zwykły tekst; wiele plików zaczyna się od @echo off, REM lub :: (linia komentarza) |
| Powiązany system operacyjny | Windows NT 3.1 i wszystkie późniejsze wersje, w tym Windows 11 |
| Zastąpiony przez | PowerShell (.ps1) w przypadku nowoczesnej automatyzacji; .cmd i .bat pozostają w pełni obsługiwane w systemie Windows 11 |
| Zachowanie podczas wykonywania | Dwukrotne kliknięcie natychmiast uruchamia wszystkie polecenia; zawsze sprawdzaj w edytorze tekstu przed uruchomieniem niezaufanych plików |
| Wydano | 1993 with Windows NT 3.1 / OS/2 as the NT-era sibling of the DOS .bat extension |
| Najnowsza wersja | No versioned spec; behavior defined by the cmd.exe of each Windows release (Windows 11 as of 2026) |
| Specyfikacja | learn.microsoft.com |
Konwersje CMD
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki CMD.