Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz 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.
Note
Użytkownicy poszukujący bardziej zaawansowanych możliwości są zachęcani do zapoznania się z programem PowerShell w celu ulepszenia skryptów i automatyzacji.
Syntax
cmd [/c|/k] [/s] [/q] [/d] [/a|/u] [/t:{<b><f> | <f>}] [/e:{on | off}] [/f:{on | off}] [/v:{on | off}] [<string>]
Parameters
| Parameter | Description |
|---|---|
| /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 /kwyzwala 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>:
| Value | Color |
|---|---|
| 0 | Black |
| 1 | Blue |
| 2 | Green |
| 3 | Aqua |
| 4 | Red |
| 5 | Purple |
| 6 | Yellow |
| 7 | White |
| 8 | Gray |
| 9 | Light blue |
| a | Light green |
| b | Light aqua |
| c | Light red |
| d | Light purple |
| e | Light yellow |
| f | Bright white |
Remarks
Aby przekierować dane wyjściowe polecenia do danych wejściowych innego polecenia, użyj operatora potoku (
|). For example:<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 scenariuszucommand2jest wykonywany tylko w przypadkucommand1awarii. For example:<command1> || <command2>Aby przekierować dane wyjściowe polecenia do pliku, użyj znaku nawiasu kątowego
>większego niż kąt. For example:<command1> > <file1.txt>Aby grupować lub zagnieżdżać wiele poleceń, użyj polecenia
&. For example:<command1> & <command2>Aby użyć wielu poleceń dla
<string>polecenia , rozdziel je separatorem&&poleceń . For example:<command1> && <command2> && <command3>Note
Jeśli używasz
&&polecenia , następujące&&polecenie jest uruchamiane tylko wtedy, gdy poprzednie polecenie zakończy się pomyślnie.CmdWykonuje 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". For example:mkdir Test && mkdir "Test 2" && move "Test 2" TestNależy użyć znaków cudzysłowu wokół następujących znaków specjalnych: & <> [ ] | { } ^ = ; ! ' + , ' ~ [biały znak].
Jeśli określisz
/cprocesy lub/k,cmdpozostał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
/dparametru ,cmdwyszukaj 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. Rozszerzenia dla wszystkichcmdopcji wiersza polecenia w sesji komputera lub użytkownika można włączać i wyłączać, 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_DWORD na 0x1 (włączone) lub 0x0 (wyłączone) w rejestrze przy użyciu polecenia Regedit.exe. Ustawienia określone przez użytkownika mają pierwszeństwo przed ustawieniami komputera, a opcje wiersza polecenia mają pierwszeństwo przed ustawieniami rejestru.
Caution
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:
assoccall-
chdir(cd) color-
del(erase) endlocalforftypegotoif-
mkdir(md) popdpromptpushdsetsetlocalshift-
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
cmdprocesu polecenia za pomocą polecenia/f:{on | off}.Uzupełnianie nazw plików i katalogów można włączyć lub wyłączyć dla wszystkich procesów
cmdpolecenia na komputerze lub dla 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 formantu dla określonej funkcji (na przykład 0x9 to TAB, a 0x08 to BACKSPACE). Użyj wartości [0x20] 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.
Caution
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 uzupełnianie nazw plików i katalogów zostanie włączone za pomocą
/f:on, należy użyć CTRL+D do uzupełniania nazw katalogów i CTRL+F do uzupełniania nazw plików. Jedyna różnica między kombinacjami CTRL+D i CTRL+F polega na tym, że CTRL+D pasuje tylko do nazw katalogów, a CTRL+F pasuje do nazw plików i katalogów. Jeśli używasz uzupełniania nazw plików i katalogów we wbudowanych poleceniachcdkatalogu ,mdlubrd, zakłada się ukończenie katalogu.Naciśnięcie CTRL+D lub CTRL+F powoduje przetworzenie 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 poruszać się po liście pasujących ścieżek, naciskaj kilkakrotnie CTRL+D lub CTRL+F .
- Aby poruszać się po liście do tyłu, naciśnij jednocześnie SHIFT i CTRL+D lub CTRL+F .
- Aby odrzucić zapisaną listę pasujących ścieżek i wygenerować nową listę, edytuj
<string>i naciśnij CTRL+D lub CTRL+F. - W przypadku przełączania między CTRL+D i CTRL+F zapisana lista pasujących ścieżek jest odrzucana i generowana jest 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.
Jeśli uzupełnianie nazw plików i katalogów jest przetwarzane z poziomu
<string>programu , w punkcie, w<string>którym uzupełnianie zostało przetworzone, każda część ścieżki po prawej stronie kursora jest odrzucana.
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 gałęzi HKEY_CURRENT_USER 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 gałęzi HKEY_LOCAL_MACHINE .
- Zmienne lokalne znalezione w gałęzi HKEY_CURRENT_USER .
- 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ójnymi cudzysłowami. 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&Namezmiennej , 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. W nazwach zmiennych można łączyć wielkie i małe litery, aby kod był bardziej czytelny, na przykład UserName.
Note
- 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.