cmd.exe - cmd.exe

Prompt de comandă (cmd.exe)
Pictogramă prompt de comandă (windows) .png
Prompt de comandă pe Windows 10 RTM.png
Prompt de comandă în Windows 10
Alte nume Procesor de comandă Windows
Dezvoltatori Colaboratori Microsoft , IBM , ReactOS
Eliberarea inițială Decembrie 1987 ; Acum 33 de ani ( 1987-12 )
Sistem de operare
Platformă IA-32 , x86-64 , ARM (și istoric DEC Alpha , MIPS , PowerPC și Itanium )
Predecesor COMMAND.COM
Tip Interpret de linie de comandă

cmd.exe este implicit linia de comandă interpret pentru OS / 2 , eComStation , ArcaOS , Microsoft Windows ( familia Windows NT și pentru Windows familia CE ), și ReactOS sisteme de operare. Numele se referă la numele său de fișier executabil. De asemenea, este denumit în mod obișnuit cmd sau linia de comandă , referindu-se la titlul implicit al ferestrei de pe Windows. Implementările diferă pe diferite sisteme, dar comportamentul și setul de bază al comenzilor sunt în general consecvente. cmd.exe este omologul COMMAND.COM în sistemele DOS și Windows 9x și este similar cu shell-urile Unix utilizate pe sistemele similare Unix . Versiunea inițială a cmd.exe pentru Windows NT a fost dezvoltată de Therese Stowell. Windows CE 2.11 a fost prima versiune Windows încorporată care acceptă o consolă și o versiune Windows CE a cmd.exe . Pe Windows CE .NET 4.2 , Windows CE 5.0 și Windows Embedded CE 6.0 este denumit și Command Processor Shell . Implementarea ReactOS a cmd.exe este derivată de la FreeCOM, interpretorul de linie de comandă FreeDOS .

Operațiune

cmd.exe interacționează cu utilizatorul printr-o interfață de linie de comandă . Pe Windows, această interfață este implementată prin consola Win32 . cmd.exe poate profita de caracteristicile disponibile pentru programele native ale propriei platforme. De exemplu, pe OS / 2 și Windows, poate utiliza conducte reale în conducte de comandă, permițând ambelor părți ale conductei să ruleze simultan. Ca urmare, este posibil să redirecționați fluxul de erori standard . ( COMMAND.COM folosește fișiere temporare și rulează cele două părți în serie, una după alta.)

Comenzi multiple pot fi procesate într-o singură linie de comandă folosind separatorul de comenzi && .

Când utilizați acest separator în Windows cmd.exe , fiecare comandă trebuie să se finalizeze cu succes pentru ca următoarele comenzi să fie executate. De exemplu:

C:\>CommandA && CommandB && CommandC

În exemplul de mai sus, CommandB se va executa numai dacă CommandA se finalizează cu succes, iar executarea CommandC depinde de finalizarea cu succes a CommandB . Pentru a procesa comenzile ulterioare chiar dacă comanda anterioară produce o eroare, trebuie utilizat separatorul de comenzi & . De exemplu:

C:\>CommandA & CommandB & CommandC

În Windows XP sau o versiune ulterioară, lungimea maximă a șirului care poate fi utilizată la promptul de comandă este de 8191 de caractere. În versiunile anterioare, cum ar fi Windows 2000 sau Windows NT 4.0 , lungimea maximă a șirului este de 2047 de caractere. Această limită include linia de comandă, variabilele de mediu individuale care sunt moștenite de alte procese și toate extensiile variabilelor de mediu.

Ghilimelele sunt necesare pentru următoarele caractere speciale :

& < > [ ] { } ^ = ; ! ' + , ` ~ [white space]

Comenzi interne

OS / 2

Fereastra OS / 2 (cmd.exe) pe Microsoft OS / 2 Versiunea 1.3

Următoarea este o listă a comenzilor interne Microsoft OS / 2 cmd.exe :

Familia Windows NT

cmd.exe pe Windows 7

Următoarea listă de comenzi interne este acceptată de cmd.exe pe Windows NT și versiuni ulterioare:

Windows CE

Pocket CMD v 3.0 (cmd.exe) pe Windows CE 3.0

Următoarea listă de comenzi este acceptată de cmd.exe pe Windows CE .NET 4.2, Windows CE 5.0 și Windows Embedded CE 6.0:

  • atrib
  • apel
  • CD
  • chdir
  • cls
  • copie
  • Data
  • del
  • dir
  • ecou
  • şterge
  • Ieșire
  • mergi la
  • Ajutor
  • dacă
  • md
  • mkdir
  • mutare
  • cale
  • pauză
  • prompt
  • pwd
  • rd
  • rem
  • ren
  • redenumiți
  • rmdir
  • a stabilit
  • schimb
  • start
  • timp
  • titlu
  • tip

În plus, comanda net este disponibilă ca o comandă externă stocată în \ Windows \ net.exe .

ReactOS

Prompt de comandă (cmd.exe) pe ReactOS

Implementarea ReactOS include următoarele comenzi interne:

  • ?
  • alias
  • conf
  • bip
  • apel
  • CD
  • chdir
  • alegere
  • cls
  • culoare
  • copie
  • ctty
  • Data
  • del
  • șterge
  • întârziere
  • dir
  • dir
  • ecou
  • ecouri
  • echoerr
  • echoserr
  • endlocal
  • şterge
  • Ieșire
  • pentru
  • liber
  • mergi la
  • istorie
  • dacă
  • memorie
  • md
  • mkdir
  • mklink
  • mutare
  • cale
  • pauză
  • popd
  • prompt
  • pushd
  • rd
  • rmdir
  • rem
  • ren
  • redenumiți
  • a inlocui
  • ecran
  • a stabilit
  • setlocal
  • schimb
  • start
  • timp
  • temporizator
  • titlu
  • tip
  • ver
  • verifica
  • vol

Comparație cu COMMAND.COM

Pe Windows, cmd.exe este în mare parte compatibil cu COMMAND.COM, dar oferă următoarele extensii:

  • Mesaje de eroare mai detaliate decât pătura „ Comandă greșită sau nume de fișier ” (în cazul comenzilor greșite) din COMMAND.COM . În OS / 2, erorile sunt raportate în limba aleasă a sistemului, textul lor fiind preluat din fișierele de mesaje ale sistemului. Comanda HELP poate fi apoi emisă cu numărul mesajului de eroare pentru a obține informații suplimentare.
  • Suportă utilizarea tastelor săgeată pentru a derula istoricul comenzilor. (Sub DOS această funcție a fost disponibilă numai în DR DOS (prin HISTORY ) și ulterior printr-o componentă externă numită DOSKEY .)
  • Adaugă completarea liniei de comandă pentru căile de fișiere și foldere.
  • Tratează caracterul caret ( ^ ) ca personaj de evadare ; caracterul care o urmează trebuie luat literal. Există caractere speciale în cmd.exe și COMMAND.COM (de ex. " < ", " > " Și "|") care sunt menite să modifice comportamentul procesorului de linie de comandă. Caracterul caret forțează procesorul din linia de comandă să le interpreteze literalmente.
  • Suportă extinderea variabilelor întârziate SETLOCAL EnableDelayedExpansion, permițând valorilor variabilelor să fie calculate la runtime în loc de în timpul analizei scriptului înainte de execuție (Windows 2000 și versiuni ulterioare), fixând idiomuri DOS care făceau folosind structurile de control greu și complex. Extensiile pot fi dezactivate, oferind un mod de compatibilitate mai strict.

Comenzile interne au fost, de asemenea, îmbunătățite:

  • DELTREE Comanda a fost fuzionat în RD comanda, ca parte a acesteia / S comutator .
  • Comenzile SetLocal și EndLocal limitează sfera modificărilor aduse mediului. Modificările aduse mediului de linie de comandă după comenzile SetLocal sunt locale pentru fișierul batch . Comanda EndLocal restabilește setările anterioare.
  • Comanda Apel permite subrutine în fișierul lot. Comanda Call din COMMAND.COM acceptă numai apelarea fișierelor batch externe.
  • Extensiile de nume de fișier analizori la Set comandă sunt comparabile cu C shell .
  • Comanda Set poate efectua evaluarea expresiei .
  • O extindere a comenzii For acceptă analiza fișierelor și a seturilor arbitrare pe lângă numele fișierelor.
  • Noile pushd și popd comenzi oferă acces căi navigabile singur cu similare cu „înainte“ și butoanele „back“ într - un browser web sau File Explorer .
  • Comanda IF condiționată poate efectua comparații care nu fac sensibilitate la majuscule și comparații numerice de egalitate și inegalitate, pe lângă comparații de șiruri sensibile la majuscule. (Acesta a fost disponibil în DR-DOS, dar nu și în PC DOS sau MS-DOS .)

Vezi si

Referințe

Lecturi suplimentare

linkuri externe