Przejdź do głównej zawartości

cmd

Komenda cmd uruchamia nową instancję interpretera wiersza poleceń Windows (cmd.exe), umożliwiając wykonywanie poleceń CMD w odrębnej sesji. Pozwala ona przekazać do interpretatora pojedyncze polecenie do wykonania lub uruchomić interaktywną powłokę z określonymi ustawieniami, takimi jak tryb cichy, kodowanie wyjścia czy tytuł okna.

Okno terminala
cmd [ /C | /K ] [ /S ] [ /Q ] [ /D ] [ /A | /U ] [ /T:fg ] [ /E:ON | OFF ] [ /V:ON | OFF ] [ /X:ON | OFF ] [ /I ] [ /F:ON | OFF ] [ /V:ON | OFF ] [ /? ]
  • /C – wykonuje podane polecenie, a następnie zamyka okno powłoki.
  • /K – wykonuje podane polecenie, a powłoka pozostaje otwarta.
  • /S – modyfikuje sposób interpretacji cudzysłowów w podanym poleceniu.
  • /Q – wycisza echo poleceń (@ECHO OFF).
  • /D – ignoruje autoexec i wpisy rejestru definiujące profil powłoki.
  • /A – wyświetla wyniki jako ASCII.
  • /U – wyświetla wyniki jako Unicode.
  • /T:fg – ustawia kolor tekstu (f) i tła (g) konsoli dla tej sesji.
  • /E:ON|OFF – włącza lub wyłącza rozszerzenia poleceń CMD.
  • /V:ON|OFF – włącza lub wyłącza rozszerzoną ekspansję zmiennych (!VAR!).
  • /X:ON|OFF – rezerwuje lub zwalnia predefiniowane klawisze skrótów.
  • /I – kopiuje bieżące ustawienia środowiska do nowej sesji.
  • /F:ON|OFF – włącza lub wyłącza filtrowanie znaków w ścieżkach.
  • /? – wyświetla pomoc dla polecenia.
PrzełącznikOpis
/CWykonuje następujące polecenie i kończy sesję CMD.
/KWykonuje następujące polecenie i pozostawia sesję CMD otwartą.
/SZapewnia prawidłowe przekazywanie cudzysłowów w poleceniu.
/QWyłącza echo poleceń w sesji (ECHO OFF).
/DPomija wykonywanie skryptów autoexec oraz ustawień rejestru podczas uruchomienia.
/AWymusza kodowanie wyjścia jako ASCII zamiast Unicode.
/UWymusza kodowanie wyjścia jako Unicode.
/T:fgUstawia kolor tekstu (f) i tła (g) konsoli (0–F).
/E:ON / OFFWłącza lub wyłącza rozszerzenia poleceń CMD (takie jak FOR /F).
/V:ON / OFFWłącza lub wyłącza rozszerzoną ekspansję zmiennych (!VAR!).
/X:ON / OFFRezerwuje lub zwalnia klawisze skrótów (np. Ctrl+C).
/IDziedziczy ustawienia środowiska z procesu rodzica (zmienne, aliasy).
/F:ON / OFFWłącza lub wyłącza filtrowanie specjalnych znaków w ścieżkach.
/TYLKOInne specyficzne przełączniki zależne od wersji systemu (np. /CUP).
/ ?Pokazuje listę dostępnych przełączników i ich opis.
  1. Uruchomienie polecenia i zamknięcie powłoki

    Okno terminala
    cmd /C "echo Hello World & pause"

    Wykonuje komendę echo i pause, a następnie zamyka okno.

  2. Uruchomienie polecenia i pozostawienie okna

    Okno terminala
    cmd /K "dir C:\ /A:D"

    Wyświetla listę katalogów na dysku C: i pozostawia konsolę otwartą.

  3. Wyłączenie rozszerzeń CMD

    Okno terminala
    cmd /E:OFF /K

    Uruchamia nową powłokę bez rozszerzeń; można testować starsze skrypty.

  4. Interaktywna powłoka z Unicode

    Okno terminala
    cmd /U

    Uruchamia sesję CMD z kodowaniem Unicode, przydatną do wyświetlania znaków spoza ASCII.

  5. Nowa sesja z niestandardowym kolorem

    Okno terminala
    cmd /T:0A /K

    Ustawia zielony tekst na czarnym tle i otwiera powłokę.

  • cmd.exe jest domyślnym interpreterm wiersza poleceń Windows i znajduje się w %SystemRoot%\System32.
  • Rozszerzenia poleceń (/E) wprowadzają dodatkowe funkcje, takie jak CALL :label, IF DEFINED, FOR /F.
  • Rozszerzona ekspansja zmiennych (/V:ON) pozwala na użycie składni !VAR! i dynamiczne odczytywanie zmiennych w pętlach.
  • Użycie /D jest przydatne w skryptach bat uruchamianych w środowiskach, gdzie zmiany autoexec mogą powodować konflikty.
  • Polecenia przekazane do interpretera mogą zawierać wiele wyrażeń oddzielonych &, &&, ||, |.
Błąd / KomunikatPrzyczynaRozwiązanie
'cmd' is not recognized as an internal or external commandBrak lub uszkodzenie pliku cmd.exe w %SystemRoot%\System32.Sprawdź integralność plików systemowych (SFC /SCANNOW) lub przywróć plik z kopii zapasowej.
Invalid switchLiterówka w przełączniku lub użycie nieobsługiwanej opcji.Uruchom cmd /? i sprawdź dostępne przełączniki w Twojej wersji systemu.
Polecenie nie wykonuje wielu instrukcji oddzielonych &Brak cudzysłowów wokół sekwencji poleceń lub niepoprawna składnia potoku.Użyj cmd /C ""cmd1 & cmd2 & cmd3"" lub popraw format cudzysłowów.
Nie działa ekspansja !VAR!Rozszerzona ekspansja zmiennych jest wyłączona (/V:OFF).Włącz ją przełącznikiem cmd /V:ON lub dodaj SetLocal EnableDelayedExpansion w skrypcie.