Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uruchamia nowe wystąpienie interpretera poleceń cmd.exe. Jeśli nie określono parametrów, cmd
wyświetla informacje o wersji i prawach autorskich systemu operacyjnego.
Uwaga / Notatka
Zachęcamy użytkowników poszukujących bardziej zaawansowanych możliwości do eksplorowania programu PowerShell w celu uzyskania ulepszonego skryptu i automatyzacji.
Składnia
cmd [/c|/k] [/s] [/q] [/d] [/a|/u] [/t:{<b><f> | <f>}] [/e:{on | off}] [/f:{on | off}] [/v:{on | off}] [<string>]
Parametry
Parametr | Opis |
---|---|
/c | Wykonuje polecenie określone przez <string> , a następnie zamyka procesor poleceń. |
/k | Wykonuje polecenie określone przez <string> i utrzymuje procesor poleceń uruchomiony. |
/ s | W przypadku użycia z elementem /c lub /k wyzwala specjalne reguły bez analizowania, które usuwają pierwsze i ostatnie cudzysłowy () wokół " elementu ,<string> ale pozostawia resztę polecenia bez zmian. |
/q | Wyłącza echo. |
/d | Wyłącza wykonywanie poleceń AutoRun. |
/a | Formatuje dane wyjściowe polecenia jako American National Standards Institute (ANSI). |
/u | Formatuje dane wyjściowe polecenia jako Unicode. |
/t:{<b><f> | <f> } |
Ustawia kolory tła (b) i pierwszego planu (f). |
/e:on | Włącza rozszerzenia poleceń. |
/e:off | Wyłącza rozszerzenia poleceń. |
/f:on | Włącza uzupełnianie nazw plików i katalogów. |
/f:off | Wyłącza uzupełnianie nazw plików i katalogów. |
/v:on | Włącza opóźnione rozszerzanie zmiennych środowiskowych. |
/v:off | Wyłącza opóźnione rozszerzanie zmiennych środowiskowych. |
<string> |
Określa polecenie, które chcesz wykonać. |
/? | Wyświetla pomoc w wierszu polecenia. |
W poniższej tabeli wymieniono prawidłowe cyfry szesnastkowe, których można użyć jako wartości i <b>
<f>
:
Wartość | Kolor |
---|---|
0 | Czarny |
1 | Niebieski |
2 | Zielony |
3 | Aqua |
4 | Czerwony |
5 | Purpura |
6 | Żółty |
7 | Biała |
8 | Szary |
9 | Jasnoniebieski |
a | Jasnozielony |
b | Jasny akwakwaryz |
Bez kontekstu nie można zapewnić adekwatnego tłumaczenia litery "c". | Jasnoczerwony |
d | Jasnopurpurowy |
e | Jasnożółty |
f | Jasny biały |
Uwagi
Aby przekierować dane wyjściowe polecenia do danych wejściowych innego polecenia, użyj operatora potoku (
|
). Przykład:<command1> | <command2>
Operator podwójnego potoku (
||
) służy do wykonywania następnego polecenia tylko wtedy, gdy poprzednie polecenie zakończy się niepowodzeniem. W danym scenariuszucommand2
jest wykonywany tylko w przypadkucommand1
awarii. Przykład:<command1> || <command2>
Aby przekierować dane wyjściowe polecenia do pliku, użyj znaku nawiasu kątowego
>
większego niż kąt. Przykład:<command1> > <file1.txt>
Aby grupować lub zagnieżdżać wiele poleceń, użyj polecenia
&
. Przykład:<command1> & <command2>
Aby użyć wielu poleceń dla
<string>
polecenia , rozdziel je separatorem&&
poleceń . Przykład:<command1> && <command2> && <command3>
Uwaga / Notatka
Jeśli używasz
&&
polecenia , następujące&&
polecenie jest uruchamiane tylko wtedy, gdy poprzednie polecenie zakończy się pomyślnie.Cmd
Wykonuje pierwsze polecenie i przechodzi do następnego tylko wtedy, gdy poprzednie polecenie zakończyło się pomyślnie. W przeciwnym razie, jeśli poprzednie polecenie zakończy się niepowodzeniem, kolejne polecenia nie zostaną wykonane.Znaki ampersand
&
, potoku|
i nawiasy( )
są znakami specjalnymi, które muszą być poprzedzone znakiem^
ucieczki lub cudzysłowem podczas przekazywania ich jako argumentów.Jeśli polecenie zakończy operację pomyślnie, zwraca kod zakończenia o wartości zero (0) lub bez kodu zakończenia.
Jeśli ścieżka katalogu, pliki lub jakiekolwiek informacje, które podajesz, zawiera spacje, należy użyć podwójnych cudzysłowów (
" "
) wokół tekstu, takiego jak"Computer Name"
. Przykład:mkdir Test && mkdir "Test 2" && move "Test 2" Test
Należy użyć znaków cudzysłowu wokół następujących znaków specjalnych: & <> [ ] | { } ^ = ; ! ' + , ' ~ [biały znak].
Jeśli określisz
/c
procesy lub/k
,cmd
pozostałe znaki cudzysłowu<string>
zostaną zachowane tylko wtedy, gdy zostaną spełnione wszystkie następujące warunki:- Nie używasz również polecenia
/s
. - Należy użyć dokładnie jednego zestawu cudzysłowów.
- Nie używasz żadnych znaków specjalnych w cudzysłowie, na przykład: & <> ( ) @ ^ |.
- W cudzysłowie jest używany co najmniej jeden znak odstępu.
- Znaki
<string>
cudzysłowu to nazwa pliku wykonywalnego.
Jeśli poprzednie warunki nie są spełnione, jest przetwarzane przez sprawdzenie pierwszego znaku, aby sprawdzić,
<string>
czy jest to cudzysłów otwierający. Jeśli pierwszy znak jest znakiem cudzysłowu otwierającego, jest on usuwany wraz z cudzysłowem zamykającym. Każdy tekst po cudzysłowie zamykającym jest zachowywany.- Nie używasz również polecenia
Jeśli nie określisz
/d
parametru ,cmd
wyszukaj następujące podklucze rejestru:HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun\REG_SZ
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun\REG_EXPAND_SZ
Jeśli istnieją co najmniej jeden podklucze rejestru, są one wykonywane przed wszystkimi innymi zmiennymi.
Rozszerzenia poleceń dla określonego procesu można wyłączyć przy użyciu polecenia
/e:off
. Można włączyć lub wyłączyć rozszerzenia dla wszystkichcmd
opcji wiersza polecenia na komputerze lub sesji użytkownika, ustawiając następujące wartości REG_DWORD :HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD
Ustaw wartość REG_DWORDna wartość 0×1 (włączona) lub 0×0 (wyłączona) w rejestrze przy użyciu Regedit.exe. Ustawienia określone przez użytkownika mają pierwszeństwo przed ustawieniami komputera, a opcje wiersza polecenia mają pierwszeństwo przed ustawieniami rejestru.
Ostrzeżenie
Nieprawidłowa edycja rejestru może poskutkować poważnym uszkodzeniem systemu. Przed wprowadzeniem zmian w rejestrze należy utworzyć kopię zapasową wszystkich wartościowych danych na komputerze.
Po włączeniu rozszerzeń poleceń mają wpływ następujące polecenia:
assoc
call
-
chdir
(cd
) color
-
del
(erase
) endlocal
for
ftype
goto
if
-
mkdir
(md
) popd
prompt
pushd
set
setlocal
shift
-
start
(obejmuje również zmiany w zewnętrznych procesach poleceń)
Jeśli włączysz opóźnione rozszerzanie zmiennej środowiskowej, możesz użyć znaku wykrzyknika (
!
), aby zastąpić wartość zmiennej środowiskowej w czasie wykonywania.Uzupełnianie nazw plików i katalogów nie jest domyślnie włączone. Możesz włączyć lub wyłączyć uzupełnianie nazw plików dla określonego
cmd
procesu polecenia za pomocą polecenia/f:{on | off}
.Można włączyć lub wyłączyć uzupełnianie nazw plików i katalogów dla wszystkich procesów
cmd
polecenia na komputerze lub sesji logowania użytkownika, ustawiając następujące wartości REG_DWORD :HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD
Aby ustawić wartość REG_DWORD , uruchom Regedit.exe i użyj wartości szesnastkowej znaku kontrolki dla określonej funkcji (na przykład 0×9 to TAB, a 0×08 to BACKSPACE. Użyj wartości [0×20] dla białych znaków, ponieważ nie jest to prawidłowy znak kontrolny. Ustawienia określone przez użytkownika mają pierwszeństwo przed ustawieniami komputera, a opcje wiersza polecenia mają pierwszeństwo przed ustawieniami rejestru.
Ostrzeżenie
Nieprawidłowa edycja rejestru może poskutkować poważnym uszkodzeniem systemu. Przed wprowadzeniem zmian w rejestrze należy utworzyć kopię zapasową wszystkich wartościowych danych na komputerze.
Jeśli włączysz uzupełnianie nazw plików i katalogów przy użyciu polecenia
/f:on
, użyj CTRL+D w celu ukończenia nazw katalogów i ctrl+F w celu ukończenia nazwy pliku. Jedyną różnicą między kombinacjami CTRL+D i CTRL+F jest to, że ctrl+D pasuje tylko do nazw katalogów i CTRL+F pasuje zarówno do nazw plików, jak i katalogów. Jeśli używasz uzupełniania nazw plików i katalogów we wbudowanych poleceniachcd
katalogu ,md
lubrd
, zakłada się ukończenie katalogu.Naciśnięcie CTRL+D lub CTRL+F przetwarza uzupełnianie nazwy pliku i katalogu. Te funkcje kombinacji dołączają symbol wieloznaczny do
<string>
elementu , jeśli nie istnieje, skompiluj listę pasujących ścieżek, a następnie wyświetl pierwszą pasującą ścieżkę. Jeśli żadna ze ścieżek nie jest zgodna, funkcja uzupełniania nazw plików i katalogów jest wyświetlana i nie zmienia wyświetlania.- Aby przejść przez listę pasujących ścieżek, naciśnij CTRL+D lub CTRL+F wielokrotnie.
- Aby przejść przez listę do tyłu, naciśnij SHIFT i CTRL+D lub CTRL+F jednocześnie.
- Aby odrzucić zapisaną listę pasujących ścieżek i wygenerować nową listę, edytuj
<string>
i naciśnij CTRL+D lub CTRL+F. - Jeśli przełączasz się między ctrl+D i CTRL+F, zapisana lista pasujących ścieżek zostanie odrzucona i zostanie wygenerowana nowa lista.
Uzupełnianie nazw plików i katalogów poprawnie przetwarza nazwy plików, które zawierają białe znaki lub znaki specjalne, jeśli umieszczasz znaki cudzysłowu wokół pasującej ścieżki.
W przypadku przetwarzania uzupełniania nazwy pliku i katalogu z poziomu
<string>
elementu w punkcie, w<string>
którym zostało przetworzone ukończenie, każda część ścieżki po prawej stronie kursora zostanie odrzucona.
Korzystanie ze zmiennych środowiskowych
Środowisko cmd
powłoki poleceń jest definiowane przez zmienne, które określają zachowanie powłoki poleceń i systemu operacyjnego. Zachowanie środowiska powłoki poleceń lub całego środowiska systemu operacyjnego można zdefiniować przy użyciu dwóch typów zmiennych środowiskowych, systemu i środowiska lokalnego. Zmienne środowiskowe systemu definiują zachowanie globalnego środowiska systemu operacyjnego. Lokalne zmienne środowiskowe definiują zachowanie środowiska bieżącego wystąpienia programu cmd
.
Tylko użytkownicy z uprawnieniami administracyjnymi mogą zmieniać zmienne systemowe. Te zmienne są najczęściej używane w skryptach logowania. Lokalne zmienne środowiskowe są dostępne tylko wtedy, gdy użytkownik, dla którego zostały utworzone, jest zalogowany na komputerze. Zmienne lokalne ustawione w HKEY_CURRENT_USER hive są prawidłowe tylko dla bieżącego użytkownika, ale definiują zachowanie globalnego środowiska systemu operacyjnego.
Poniższa lista zawiera opis różnych typów zmiennych w kolejności malejącej pierwszeństwa:
- Wbudowane zmienne systemowe.
- Zmienne systemowe znalezione w HKEY_LOCAL_MACHINE hive.
- Zmienne lokalne znalezione w HKEY_CURRENT_USER hive.
- Wszystkie zmienne środowiskowe i ścieżki ustawione w pliku Autoexec.bat.
- Wszystkie zmienne środowiskowe i ścieżki ustawione w skrypcie logowania (jeśli istnieje).
- Zmienne używane interaktywnie w skrycie lub pliku wsadowym.
W powłoce poleceń każde wystąpienie cmd
dziedziczy środowisko aplikacji nadrzędnej. W związku z tym można zmienić zmienne w nowym cmd
środowisku bez wpływu na środowisko aplikacji nadrzędnej.
Zmienne środowiskowe w środowisku można wyświetlić, uruchamiając jedno z następujących poleceń:
set
Get-ChildItem Env:
Ustawianie zmiennych środowiskowych
Aby wyświetlić zmienną, wpisz:
set <VariableName>
Aby dodać zmienną, wpisz:
set <VariableName>=<value>
Aby usunąć zmienną, wpisz:
set <VariableName>=
Większość znaków można używać jako wartości zmiennych, w tym białych znaków. Jeśli używasz znaków <specjalnych , | >, &, lub ^, musisz poprzedzić je znakiem ^
ucieczki lub podwójnym cudzysłowem. Jeśli używasz podwójnych cudzysłowów, są one dołączane jako część wartości, ponieważ wszystko, co następuje po znaku równości, jest traktowane jako wartość. Rozważ następujące przykłady:
Aby utworzyć wartość New&Name
zmiennej , wpisz:
set <VariableName>=New^&Name
Aby utworzyć wartość "New&Name"
zmiennej , wpisz:
set <VariableName>="New&Name"
Jeśli w wierszu polecenia wpiszesz set <VariableName>=New&Name
(bez kareci ^
lub cudzysłowów), w wierszu polecenia może zostać wyświetlony następujący komunikat o błędzie:
"'Name' is not recognized as an internal or external command, operable program or batch file."
W nazwach zmiennych nie jest uwzględniana wielkość liter.
set
Wyświetla jednak zmienną dokładnie tak, jak została wpisana. Możesz połączyć wielkie i małe litery w nazwach zmiennych, aby kod był bardziej czytelny, na przykład UserName.
Uwaga / Notatka
- Maksymalny rozmiar zmiennej środowiskowej to 8192 bajty.
- Maksymalny całkowity rozmiar wszystkich zmiennych środowiskowych, w tym nazw, wartości i znaków równości, wynosi 65 536 znaków dla procesu.
Podstawianie wartości zmiennych środowiskowych
Aby zastąpić wartości zmiennych w wierszu polecenia lub skryptach, należy ująć nazwę zmiennej w znaki procentowe (%VariableName%). Dzięki temu można cmd
odwoływać się do wartości zmiennej zamiast traktować ją jako tekst literału. Po uruchomieniu cmd
skryptu zamienia wystąpienia zmiennej na jego wartość. Na przykład użycie %USERNAME% w skrypcie automatycznie zastępuje rzeczywistą nazwę użytkownika. Podstawianie zmiennych nie jest rekursywne; cmd
sprawdza zmienne tylko raz.