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.
Składnia
Dział zatytułowany „Składnia”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.
Parametry
Dział zatytułowany „Parametry”Przełącznik | Opis |
---|---|
/C | Wykonuje następujące polecenie i kończy sesję CMD. |
/K | Wykonuje następujące polecenie i pozostawia sesję CMD otwartą. |
/S | Zapewnia prawidłowe przekazywanie cudzysłowów w poleceniu. |
/Q | Wyłącza echo poleceń w sesji (ECHO OFF ). |
/D | Pomija wykonywanie skryptów autoexec oraz ustawień rejestru podczas uruchomienia. |
/A | Wymusza kodowanie wyjścia jako ASCII zamiast Unicode. |
/U | Wymusza kodowanie wyjścia jako Unicode. |
/T:fg | Ustawia kolor tekstu (f) i tła (g) konsoli (0–F). |
/E:ON / OFF | Włącza lub wyłącza rozszerzenia poleceń CMD (takie jak FOR /F ). |
/V:ON / OFF | Włącza lub wyłącza rozszerzoną ekspansję zmiennych (!VAR! ). |
/X:ON / OFF | Rezerwuje lub zwalnia klawisze skrótów (np. Ctrl+C). |
/I | Dziedziczy ustawienia środowiska z procesu rodzica (zmienne, aliasy). |
/F:ON / OFF | Włącza lub wyłącza filtrowanie specjalnych znaków w ścieżkach. |
/TYLKO | Inne specyficzne przełączniki zależne od wersji systemu (np. /CUP ). |
/ ? | Pokazuje listę dostępnych przełączników i ich opis. |
Przykłady użycia
Dział zatytułowany „Przykłady użycia”-
Uruchomienie polecenia i zamknięcie powłoki
Okno terminala cmd /C "echo Hello World & pause"Wykonuje komendę
echo
ipause
, a następnie zamyka okno. -
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ą.
-
Wyłączenie rozszerzeń CMD
Okno terminala cmd /E:OFF /KUruchamia nową powłokę bez rozszerzeń; można testować starsze skrypty.
-
Interaktywna powłoka z Unicode
Okno terminala cmd /UUruchamia sesję CMD z kodowaniem Unicode, przydatną do wyświetlania znaków spoza ASCII.
-
Nowa sesja z niestandardowym kolorem
Okno terminala cmd /T:0A /KUstawia 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 jakCALL :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
&
,&&
,||
,|
.
Najczęściej spotykane błędy i jak je naprawić
Dział zatytułowany „Najczęściej spotykane błędy i jak je naprawić”Błąd / Komunikat | Przyczyna | Rozwiązanie |
---|---|---|
'cmd' is not recognized as an internal or external command | Brak lub uszkodzenie pliku cmd.exe w %SystemRoot%\System32 . | Sprawdź integralność plików systemowych (SFC /SCANNOW) lub przywróć plik z kopii zapasowej. |
Invalid switch | Literó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. |