COMMAND.COM - COMMAND.COM
Inne nazwy | Wiersz MS-DOS, interpreter poleceń systemu Windows |
---|---|
Deweloper(zy) | Seattle Computer Products , IBM , Microsoft , The Software Link , Datalight , Novell , Caldera |
Pierwsze wydanie | 1980 |
Napisane w | język asemblera x86 |
System operacyjny | |
Platforma | 16-bitowy x86 |
Następca | cmd.exe |
Rodzaj | Interpreter wiersza poleceń |
COMMAND.COM jest domyślnym wiersza polecenia interpreter dla MS- DOS , Windows 95 - 98 , Windows 98SE i Windows Me . W przypadku DOS jest to również domyślny interfejs użytkownika. Pełni dodatkową rolę jako pierwszy program uruchamiany po starcie (proces init), stąd jest odpowiedzialny za konfigurację systemu poprzez uruchomienie pliku konfiguracyjnego AUTOEXEC.BAT i jest przodkiem wszystkich procesów.
Następcą COMMAND.COM w systemach OS/2 i Windows NT jest cmd.exe , chociaż COMMAND.COM jest również dostępny w wirtualnych maszynach DOS na wersjach IA-32 tych systemów operacyjnych.
Nazwa pliku COMMAND.COM była również używana przez Disk Control Program (DCP), pochodną systemu MS-DOS przez byłego wschodnioniemieckiego VEB Robotron .
Zgodny procesor poleceń pod FreeDOS jest czasami nazywany także FreeCom .
COMMAND.COM to program DOS. Programy uruchamiane z COMMAND.COM to programy DOS, które wykorzystują DOS API do komunikacji z systemem operacyjnym dysku.
Tryby pracy
Jako powłoka COMMAND.COM ma dwa różne tryby działania. Pierwszym z nich jest tryb interaktywny , w którym użytkownik wpisuje polecenia, które są następnie natychmiast wykonywane. Drugi to tryb wsadowy , który wykonuje predefiniowaną sekwencję poleceń przechowywanych w pliku tekstowym z rozszerzeniem .BAT .
Polecenia wewnętrzne
Polecenia wewnętrzne to polecenia przechowywane bezpośrednio w pliku binarnym COMMAND.COM. W związku z tym są zawsze dostępne, ale można je wykonać tylko bezpośrednio z interpretera poleceń.
Wszystkie polecenia są wykonywane po ↵ Enternaciśnięciu klawisza na końcu linii. W COMMAND.COM nie jest rozróżniana wielkość liter, co oznacza, że polecenia można wpisywać w dowolnej kombinacji wielkich i małych liter.
- PRZERWA
- Steruje obsługą przerwania programu za pomocą Ctrl+ Club Ctrl+ Break.
- CHCP
- Wyświetla lub zmienia bieżącą stronę kodową systemu .
- CHDIR, CD
- Zmienia bieżący katalog roboczy lub wyświetla bieżący katalog.
- CLS
- Czyści ekran.
- KOPIUJ
- Kopiuje jeden plik do drugiego (jeśli plik docelowy już istnieje, MS-DOS pyta, czy go zastąpić). (Zobacz także XCOPY , zewnętrzne polecenie, które może również kopiować drzewa katalogów).
- CTTY
- Definiuje urządzenie, które będzie używane jako wejście i wyjście.
- DATA
- Wyświetl i ustaw datę systemu.
- DEL, USUŃ
- Usuwa plik. W przypadku użycia w katalogu usuwa wszystkie pliki tylko w tym katalogu. Dla porównania polecenie zewnętrzne DELTREE usuwa wszystkie podkatalogi i pliki w katalogu, a także sam katalog.
- DIR
- Wyświetla listę plików w określonym katalogu.
- ECHO
- Przełącza, czy tekst jest wyświetlany (
ECHO ON
) czy nie (ECHO OFF
). Wyświetla również tekst na ekranie (ECHO text
). - WYJŚCIE
- Wychodzi z COMMAND.COM i wraca do programu, który go uruchomił.
- LFNFOR
- Włącza lub wyłącza zwracanie długich nazw plików przez polecenie FOR. ( Windows 9x ).
- ŁADOWNOŚĆ, LH
- Ładuje program do pamięci górnej (
HILOAD
w DR DOS ). - ZAMEK
- Umożliwia zewnętrznym programom wykonywanie niskopoziomowego dostępu do dysku do woluminu. (tylko MS-DOS 7.1 i Windows 9x )
- MKDIR, MD
- Tworzy nowy katalog.
- ŚCIEŻKA
- Wyświetla lub zmienia wartość zmiennej środowiskowej PATH, która kontroluje miejsca, w których COMMAND.COM będzie szukać plików wykonywalnych.
- PODPOWIEDŹ
- Wyświetla lub zmienia wartość zmiennej środowiskowej PROMPT, która steruje wyglądem monitu.
- ZMIEŃ NAZWĘ, REN
- Zmienia nazwę pliku lub katalogu.
- RMDIR, RD
- Usuwa pusty katalog.
- USTAWIĆ
- Ustawia wartość zmiennej środowiskowej ; bez argumentów pokazuje wszystkie zdefiniowane zmienne środowiskowe.
- CZAS
- Wyświetl i ustaw czas systemu.
- PRAWDZIWE IMIĘ
- Wyświetla w pełni rozszerzoną fizyczną nazwę pliku, rozwiązując logiczne mapowania systemu plików ASSIGN , JOIN i SUBST .
- RODZAJ
- Wyświetl zawartość pliku na konsoli.
- ODBLOKOWAĆ
- Wyłącza dostęp niskiego poziomu do dysku. (tylko MS-DOS 7.1 i Windows 9x )
- VER
- Wyświetla wersję systemu operacyjnego .
- ZWERYFIKOWAĆ
- Włącz lub wyłącz weryfikację zapisu dla plików.
- TOM
- Wyświetla informacje o wolumenie.
Polecenia pliku wsadowego
Struktury kontrolne są najczęściej używane w plikach wsadowych, chociaż można ich również używać interaktywnie.
- : etykieta
- Definiuje cel dla GOTO.
- POŁĄCZENIE
- Wykonuje inny plik wsadowy i powraca do starego i kontynuuje.
- DLA
- Iteracja: powtarza polecenie dla każdego z określonego zestawu plików.
- IŚĆ DO
- Przenosi wykonanie do określonej etykiety. Etykiety są podane na początku linii, z dwukropkiem (
:likethis
). - JEŚLI
- Instrukcja warunkowa, umożliwia rozgałęzienie wykonania programu.
- PAUZA
- Wstrzymuje wykonywanie programu i wyświetla komunikat z prośbą o naciśnięcie dowolnego klawisza w celu kontynuowania.
- REM
- komentarz : każdy tekst następujący po tym poleceniu jest ignorowany.
- ZMIANA
- Następnie każdy z parametrów otrzymać z kolejnego, (na przykład
%0
z%1
,%1
w%2
, itd.).
JEŻELI polecenie
Przy wyjściu wszystkie polecenia zewnętrzne przesyłają kod powrotu (wartość od 0 do 255) do programu wywołującego. Większość programów ma pewną konwencję swoich kodów powrotu (na przykład 0 dla pomyślnego wykonania).
Jeśli program został wywołany przez COMMAND.COM, wewnętrzne polecenie IF z jego warunkiem warunkowym ERRORLEVEL może zostać użyte do przetestowania warunków błędów ostatnio wywołanego programu zewnętrznego.
W COMMAND.COM polecenia wewnętrzne nie ustanawiają nowej wartości.
Zmienne
Pliki wsadowe dla COMMAND.COM mogą mieć cztery rodzaje zmiennych:
-
Zmienne środowiskowe : mają
%VARIABLE%
formę i są skojarzone z wartościami z instrukcją SET. Przed DOS 3 COMMAND.COM rozszerza zmienne środowiskowe tylko w trybie wsadowym; to znaczy nie interaktywnie w wierszu polecenia. -
Parametry zastępcze : mają postać
%0
,%1
...%9
i początkowo zawierają nazwę polecenia i pierwszych dziewięć parametrów wiersza poleceń przekazanych do skryptu (np. jeśli poleceniem wywołującym było "myscript.bat John Doe
", to%0
jest to "myscript.bat",%1
jest " John” i%2
jest „Doe”). Parametry po prawej stronie dziewiątego można zmapować do zakresu za pomocą instrukcji SHIFT. - Zmienne pętli: używane w pętlach, mają
%%a
format, gdy są uruchamiane w plikach wsadowych. Zmienne te są zdefiniowane wyłącznie w ramach określonej instrukcji FOR i iterują po pewnym zestawie wartości zdefiniowanych w tej instrukcji FOR. - W systemie Novell DOS 7 , OpenDOS 7.01 , DR-DOS 7.02 i nowszych COMMAND.COM obsługuje również szereg zmiennych informacji systemowych , funkcję wcześniej znaną w 4DOS 3.00 i nowszych oraz w Multiuser DOS , chociaż większość obsługiwanych nazw zmiennych różnić się.
Przekierowanie, orurowanie i łączenie
Ponieważ DOS jest jednozadaniowym systemem operacyjnym, potokowanie jest osiągane przez sekwencyjne uruchamianie poleceń, przekierowywanie do iz pliku tymczasowego . COMMAND.COM nie przewiduje przekierowania standardowego kanału błędu .
command < filename
- Przekieruj standardowe wejście z pliku lub urządzenia
command > filename
- Przekieruj standardowe wyjście , nadpisując plik docelowy, jeśli istnieje.
command >> filename
- Przekieruj standardowe wyjście , dołączając do pliku docelowego, jeśli istnieje.
command1 | command2
- Rura standardowe wyjście z komendzie command1 do standardowego wejścia z command2
command1 ¶ command2
- Polecenia oddzielone ASCII-20 (¶, wywoływane przez Ctrl+ T) są wykonywane po kolei (łańcuch poleceń). Innymi słowy, pierwszy command1 jest wykonywany aż do zakończenia, a następnie command2 . Jest to nieudokumentowana funkcja COMMAND.COM systemu MS-DOS / PC DOS 5.0 i nowszych. Jest również obsługiwany przez COMMAND.COM z rodziny Windows NT oraz DR-DOS 7.07. Wszystkie wersje DR-DOS COMMAND.COM obsługiwały już podobną wewnętrzną funkcję wykorzystującą wykrzyknik (!) zamiast tego (funkcja pierwotnie wywodząca się z Concurrent DOS i Multiuser DOS ) - jednak w linii dla jednego użytkownika ta funkcja była dostępna tylko wewnętrznie (we wbudowanych skryptach startowych, takich jak "!DATE!TIME") i pośrednio przez parametr $T DOSKEY , aby uniknąć problemów z ! jako poprawny znak nazwy pliku. 4DOS obsługuje konfigurowalny separator wiersza poleceń ( 4DOS.INI CommandSep= lub SETDOS /C), domyślnie ^. COMMAND.COM w nowszych wersjach Windows NT obsługuje również
&
separator dla zgodności ze składnią cmd w OS/2 i rodzinie Windows NT. (cmd nie obsługuje jednak separatora ¶).
Ograniczenia
Długość wiersza poleceń w trybie interaktywnym jest ograniczona do 126 znaków.
W kulturze popularnej
Komunikat „Loading COMMAND.COM” można zobaczyć w widoku HUD Terminatora i wewnętrznym oknie roboczym RoboCopa po ponownym uruchomieniu.
W dziecięcym serialu CGI ReBoot , który rozgrywa się wewnątrz komputerów, lider systemu (odpowiednik miasta) nazywa się COMMAND.COM.
Zobacz też
- IBMBIO.COM / IO.SYS (uruchamia procesor poleceń jako pierwszy proces)
- SHELL (dyrektywa CONFIG.SYS) (w celu zastąpienia domyślnego procesora poleceń)
- COMSPEC (zmienna środowiskowa) (ustawiana przez COMMAND.COM, aby ponownie załadować przejściową część samego siebie)
- CMDLINE (zmienna środowiskowa) (ustawiana przez COMMAND.COM do przekazywania długich linii poleceń do programów zewnętrznych)
- 4DOS / NDOS (zastępcze procesory poleceń innych firm)
- DOSSHELL / ViewMAX (alternatywne powłoki DOS)
- Lista poleceń DOS
- Porównanie pocisków dowodzenia
- Współbieżny DOS / Multiuser DOS / REAL/32 (mają podobne procesory poleceń nie nazwane COMMAND.COM)
- PC-MOS/386 (ma podobny procesor poleceń o nazwie COMMAND.COM)
- Obszar programu przejściowego (TPA) (obszar dostępny do użytku przez uruchomioną aplikację lub przejściową część COMMAND.COM)
- SpartaDOS X (podobna implementacja dla komputerów Atari)
Bibliografia
Dalsza lektura
- Cooper, Jim (2001). Edycja specjalna przy użyciu MS-DOS 6.22 (3 wyd.). Que Publikowanie . Numer ISBN 978-0-78972573-8.
- Wolverton, Van (1990). Polecenia MS-DOS: Microsoft Quick Reference (wyd. 4 poprawione). Prasa Microsoft . Numer ISBN 978-1-55615289-4.
-
Paul, Matthias R. (2004-06-17). „Re: Losowe blokady z DR-DOS 7.03” . Konferencja FidoNet : ALT_DOS . Zarchiwizowane od oryginału w dniu 28.04.2019 . Pobrano 28.04.2019 .
[…] wszystkie wersje MS-DOS przed Windows 95 […] używały pliku COMMAND.COM w stylu COM, który ma specjalny podpis na początku pliku […] odpytywany przez BIOS MS-DOS przed załadowaniem powłoki, ale nie przez BIOS DR-DOS […] COMMAND.COM […] sprawdzi, czy działa w „poprawnej” wersji DOS, więc jeśli załadujesz ich COMMAND.COM pod DR-DOS, otrzymasz „ Zła wersja” i ich COMMAND.COM zamknie się, więc DR-DOS […] wyświetli komunikat o błędzie „Zły lub brakujący interpreter poleceń” (jeśli DR-DOS próbował załadować procesor poleceń SHELL= po zakończeniu CONFIG przetwarzanie .SYS). W takim przypadku możesz wprowadzić ścieżkę do prawidłowego DR-DOS COMMAND.COM (C:\DRDOS\COMMAND.COM) i wszystko było w porządku. Teraz wszystko się zmieniło, odkąd MS-DOS 7.0 […] COMMAND.COM stał się wewnętrznie plikiem w stylu EXE, więc nie ma magicznego […] podpisu […] do sprawdzania […], a zatem nie ma możliwości, aby DR-DOS rządził na niezgodny COMMAND.COM. Co więcej, ich COMMAND.COM nie sprawdza już wersji, ale […] nie działa pod DR-DOS […] po prostu się zawiesza […] PC DOS COMMAND.COM działa dobrze pod DR-DOS […]
[8] [9]
Zewnętrzne linki
- COMMAND.ASM na GitHub – Kod źródłowy do COMMAND.COM w wersji 2.11 wydanej przez Microsoft jako część MS-DOS 2.0
- COMMAND.ASM na GitHub – Kod źródłowy do COMMAND.COM w wersji 1.17 wydanej przez Microsoft jako część MS-DOS 1.25
- FreeCom – implementacja COMMAND.COM we FreeDOS