cmd.exe

Wiersz polecenia (cmd.exe)
Inne nazwy Procesor poleceń systemu Windows
Deweloperzy Microsoft , IBM , współtwórcy ReactOS
Pierwsze wydanie grudzień 1987 ; 35 lat temu ( 1987-12 )
Wersja stabilna
10.0.22000.282
System operacyjny
Platforma IA-32 , x86-64 , ARM (i historycznie DEC Alpha , MIPS , PowerPC i Itanium )
Poprzednik COMMAND.COM
Typ Interpreter wiersza poleceń

Wiersz polecenia , znany również jako cmd.exe lub cmd , jest domyślnym interpreterem wiersza poleceń dla systemów operacyjnych OS/2 , eComStation , ArcaOS , Microsoft Windows ( rodzina Windows NT i rodzina Windows CE ) oraz ReactOS . W systemach Windows CE .NET 4.2 , Windows CE 5.0 i Windows Embedded CE 6.0 jest określana jako powłoka procesora poleceń . Jego implementacje różnią się w zależności od systemu operacyjnego, ale zachowanie i podstawowy zestaw poleceń są spójne. cmd.exe jest odpowiednikiem COMMAND.COM w systemach DOS i Windows 9x i jest analogiczny do powłok uniksowych używanych w systemach uniksopodobnych . Początkowa wersja cmd.exe dla Windows NT została opracowana przez Therese Stowell. Windows CE 2.11 był pierwszą wbudowaną wersją systemu Windows obsługującą konsolę i wersję Windows CE cmd.exe . Implementacja cmd.exe w ReactOS wywodzi się z FreeCOM, interpretera wiersza poleceń FreeDOS .

Operacja

cmd.exe wchodzi w interakcję z użytkownikiem za pośrednictwem interfejsu wiersza poleceń . W systemie Windows ten interfejs jest realizowany przez konsolę Win32 . cmd.exe może korzystać z funkcji dostępnych dla natywnych programów własnej platformy. Na przykład w systemach OS/2 i Windows może używać prawdziwych potoków w potokach poleceń, umożliwiając jednoczesne działanie obu stron potoku. Dzięki temu możliwe jest przekierowanie standardowego strumienia błędów . ( COMMAND.COM używa plików tymczasowych i uruchamia obie strony szeregowo, jedna po drugiej.)

Wiele poleceń można przetwarzać w jednym wierszu poleceń za pomocą separatora poleceń && .

W przypadku korzystania z tego separatora w cmd.exe systemu Windows każde polecenie musi zakończyć się pomyślnie, aby można było wykonać następujące polecenia. Na przykład:

 C:\>  CommandA  &&  CommandB  &&  CommandC 

W powyższym przykładzie Komenda B zostanie wykonana tylko wtedy, gdy Komenda A zakończy się pomyślnie, a wykonanie Komendy C zależy od pomyślnego zakończenia Komendy B. Aby przetwarzać kolejne polecenia, nawet jeśli poprzednie polecenie powoduje błąd, należy użyć separatora poleceń & . Na przykład:

 C:\>  CommandA  &  CommandB  &  CommandC 

W systemie Windows XP lub nowszym maksymalna długość ciągu, którego można użyć w wierszu polecenia, wynosi 8191 znaków. We wcześniejszych wersjach, takich jak Windows 2000 lub Windows NT 4.0 , maksymalna długość ciągu wynosi 2047 znaków. To ograniczenie obejmuje linię poleceń, poszczególne zmienne środowiskowe , które są dziedziczone przez inne procesy , oraz wszystkie rozszerzenia zmiennych środowiskowych.

Cudzysłowy są wymagane dla następujących znaków specjalnych :

& < > [ ] { } ^ = ; ! ' + , ` ~ [biała spacja]

Komendy wewnętrzne

OS/2

Okno OS/2 (cmd.exe) w systemie Microsoft OS/2 w wersji 1.3

Poniżej znajduje się lista wewnętrznych poleceń cmd.exe systemu Microsoft OS/2 :

Rodzina WindowsNT

Poniższa lista wewnętrznych poleceń jest obsługiwana przez program cmd.exe w systemie Windows NT i nowszych wersjach:

WindowsCE

Pocket CMD v 3.0 (cmd.exe) w systemie Windows CE 3.0

Poniższa lista poleceń jest obsługiwana przez program cmd.exe w systemach Windows CE .NET 4.2, Windows CE 5.0 i Windows Embedded CE 6.0:

  • atrybut
  • dzwonić
  • płyta CD
  • chdir
  • cls
  • Kopiuj
  • data
  • del
  • reż
  • Echo
  • usuwać
  • Wyjście
  • iść do
  • pomoc
  • Jeśli
  • md
  • mkdir
  • przenosić
  • ścieżka
  • pauza
  • podpowiedź
  • pwd
  • r & D
  • Rem
  • Ren
  • Przemianować
  • rmdir
  • ustawić
  • zmiana
  • początek
  • czas
  • tytuł
  • typ

Ponadto polecenie net jest dostępne jako polecenie zewnętrzne przechowywane w \Windows\net.exe .

ReactOS

Wiersz polecenia (cmd.exe) w ReactOS

Implementacja ReactOS obejmuje następujące polecenia wewnętrzne:

  • ?
  • Alias
  • doc
  • brzęczyk
  • dzwonić
  • płyta CD
  • chdir
  • wybór
  • cls
  • kolor
  • Kopiuj
  • ctty
  • data
  • del
  • usuwać
  • opóźnienie
  • reż
  • reż
  • Echo
  • echo
  • echoerr
  • echoserr
  • endlokalny
  • usuwać
  • Wyjście
  • Do
  • bezpłatny
  • iść do
  • historia
  • Jeśli
  • pamięć
  • md
  • mkdir
  • mklink
  • przenosić
  • ścieżka
  • pauza
  • popd
  • podpowiedź
  • pchnij
  • r & D
  • rmdir
  • Rem
  • Ren
  • Przemianować
  • zastępować
  • ekran
  • ustawić
  • ustaw lokalnie
  • zmiana
  • początek
  • czas
  • regulator czasowy
  • tytuł
  • typ
  • wer
  • zweryfikować
  • tom

Porównanie z COMMAND.COM

W systemie Windows cmd.exe jest w większości kompatybilny z COMMAND.COM , ale udostępnia następujące rozszerzenia:

  • Bardziej szczegółowe komunikaty o błędach niż zbiorcze „ Złe polecenie lub nazwa pliku ” (w przypadku źle sformułowanych poleceń) COMMAND.COM . W systemie OS/2 błędy są zgłaszane w wybranym języku systemu, a ich treść jest pobierana z systemowych plików komunikatów. Następnie można wydać polecenie HELP z numerem komunikatu o błędzie, aby uzyskać dalsze informacje .
  • Obsługuje używanie klawiszy strzałek do przewijania historii poleceń. (W DOS ta funkcja była dostępna tylko w DR DOS (poprzez HISTORY ), a później przez zewnętrzny komponent o nazwie DOSKEY .)
  • Dodaje obracające się uzupełnianie wiersza polecenia dla ścieżek plików i folderów, w którym użytkownik może przełączać wyniki dla prefiksu za pomocą Tab i Shift + Tab ↹ , aby odwrócić kierunek.
  • Traktuje znak karetki ( ^ ) jako znak zmiany znaczenia ; znak następujący po nim należy traktować dosłownie. cmd.exe i COMMAND.COM znajdują się znaki specjalne (np. „ < ”, „ > ” i „|”), które mają na celu zmianę zachowania procesora wiersza poleceń. Znak daszka zmusza procesor wiersza poleceń do ich dosłownej interpretacji.
  • Obsługuje opóźnioną ekspansję zmiennych za pomocą SETLOCAL EnableDelayedExpansion , umożliwiając obliczanie wartości zmiennych w czasie wykonywania zamiast podczas analizowania skryptu przed wykonaniem (Windows 2000 i nowsze), naprawiając idiomy DOS, które utrudniały i komplikowały struktury kontrolne . Rozszerzenia można wyłączyć, zapewniając bardziej rygorystyczny tryb zgodności.

Ulepszono również polecenia wewnętrzne:

  • Polecenie DELTREE zostało połączone z poleceniem RD jako część jego przełącznika /S .
  • SetLocal i EndLocal ograniczają zakres zmian w środowisku. Zmiany wprowadzone w środowisku wiersza poleceń po wykonaniu SetLocal są lokalne dla pliku wsadowego . Polecenie EndLocal przywraca poprzednie ustawienia.
  • Polecenie Call umożliwia podprogramy w pliku wsadowym. Polecenie Call w COMMAND.COM obsługuje tylko wywoływanie zewnętrznych plików wsadowych.
  • Rozszerzenia parsera nazw plików dla polecenia Set są porównywalne z powłoką C. [ potrzebne dalsze wyjaśnienia ]
  • Komenda Set może wykonać obliczenie wyrażenia .
  • Rozszerzenie polecenia For obsługuje analizowanie plików i dowolnych zestawów oprócz nazw plików.
  • Nowe polecenia PushD i PopD zapewniają dostęp do poprzednich ścieżek nawigacji, podobnie jak przyciski „do przodu” i „wstecz” w przeglądarce internetowej lub Eksploratorze plików .
  • Warunkowe polecenie JEŻELI może przeprowadzać porównania bez uwzględniania wielkości liter oraz porównania numerycznych równości i nierówności oprócz porównywania łańcuchów z rozróżnianiem wielkości liter. (Było to dostępne w DR-DOS, ale nie w PC DOS ani MS-DOS ).

Zobacz też

Dalsza lektura

Linki zewnętrzne