Wiersz poleceń systemu Windows

Zamiast wstępu. Konwencje przyjęte w tej pracy

Niniejszy poradnik obsługi Wiersza poleceń został w przeważającej części stworzony na podstawie pomocy dostępnej z CMD po wywołaniu komendy help oraz dokumentacji z bazy TechNet. Niektóre komendy zostały przeze mnie opatrzone komentarzami, dodatkowymi objaśnieniami, przydatnymi uwagami. Jeśli masz jakieś pytania, uwagi lub chciałbyś coś zmienić proszę o kontakt. Dla ujednolicenia poleceń w przyjąłem, również wzorując się na Microsofcie, następujące oznaczenia:

Format zapisu Znaczenie
Kursywa Informacje, które musi podać użytkownik
Pogrubienie Elementy, które użytkownik musi wpisać dokładnie tak jak pokazano
W nawiasie okrągłym (...) Parametry, które mogą się kilka razy powtórzyć w wierszu polecenia
W nawiasie kwadratowym ([ ]) Elementy opcjonalne
W nawiasie klamrowym ({ }); opcje oddzielone znakiem potoku ( | ).
Przykład: {even | odd}
Zestaw opcji, z których użytkownik musi wybrać tylko jedną
Courier font Kod lub wynik działania programu

Część I. Przedstawienie powłoki tekstowej

Historia środowiska tekstowego

MS-DOS

Początki powłoki tekstowej, jaką znamy obecnie, w systemach z rodziny Windows sięgają 1981 roku, kiedy to Microsoft odkupił prawa do QDOS (Quick and Dirty Operating System). Nieznana wtedy jeszcze prawie nikomu mała firma wprowadziła zmiany i ulepszenia w zakupionym systemie, po czym zaoferowała go użytkownikom jako MS-DOS — podstawowy system operacyjny dla komputerów IBM PC. Wielką zaletą nowego produktu Microsoftu było duże podobieństwo i zgodność z bardzo popularnym wówczas 8-bitowym CP/M, co ułatwiało migrację do nowego, wydajniejszego systemu operacyjnego. Przygotowany na komputery 16-bitowe MS-DOS, ciągle rozwijany i udoskonalany, zyskał wielką popularność na komputerach osobistych.

Dziś DOS nie odgrywa prawie żadnej roli jako samodzielny system operacyjny. Praca w trybie rzeczywistym procesora, która uniemożliwia korzystanie przez MS-DOS z więcej niż jednego megabajta pamięci operacyjnej i zapewnia dostęp tylko do urządzeń obsługiwanych przez płytę główną i specjalizowane sterowniki, praktycznie eliminuje go z rynku. Jednak wiele z jego funkcji zostało wykorzystanych w późniejszych systemach Microsoftu, gdzie przez długi czas stanowił on moduł ładujący pozostałą — 32-bitową — część systemu (Windows 95, 98).

W najnowszej serii systemów operacyjnych Microsoftu Windows NT (New Technology) DOS nie jest konieczny do działania oprogramowania. Szczątki jego funkcjonują jako konsola tekstowa, czyli program cmd.exe, maszyna wirtualna command.com i Konsola odzyskiwania systemu (dla Windows 2000/XP/2003).

Zobacz też: Historia systemu MS-DOS

Współczesne zastosowania MS-DOS-a

Wiersz poleceń

Wiersz poleceń (cmd.exe) to środowisko tekstowe uruchamiane z poziomu systemu Windows i poza podstawowymi poleceniami nie ma nic wspólnego z MS-DOS. Jest to w pełni 32-bitowe środowisko pracy pozbawione jedynie graficznego interfejsu użytkownika, co w wielu przypadkach czyni je bardziej wydajnym.

Maszyna wirtualna

Uruchomienie programu command.com (proces ntvdm.exe) lub dowolnej aplikacji pracującej w trybie MS-DOS (to jest w środowisku 16-bitowym) skutkuje wywołaniem maszyny wirtualnej DOS. Za cenę maksymalnej zgodności z dawnym systemem firmy Microsoft command.com jest pozbawiony większości dodatków wprowadzonych w cmd.exe, przykładowo nazwy plików/folderów musimy wpisywać w formacie 8.3 (<8 liter nazwy pliku>.<3 litery rozszerzenia>). Maszyna wirtualna nie posiada dostępu do większości funkcji i urządzeń multimedialnych.

Myliłby się jednak ten, kto uważałby, że command.com i cmd.exe to dwa niezależne programy. Polecenia wywoływane w maszynie wirtualnej są przekazywane do CMD (do wydajniejszego 32-bit. środowiska), a rezultaty ich wykonania są zwracane do VDM (Virtual DOS Machine).

Konsola odzyskiwania

Jeśli nastąpi poważne uszkodzenie systemu Windows i niemożliwym staje się uruchomienie graficznej powłoki, musimy skorzystać ze specjalnego narzędzia służącego do naprawy systemu. Jest nim Konsola odzyskiwania (dostępna w systemach 2000/XP/2003). Konsola pracuje w trybie pełnoekranowym i nie może służyć do normalnej obsługi systemu.

Została ona przygotowana jako typowe narzędzie naprawcze i jest pozbawiona wszelkich dodatkowych funkcji interpretera poleceń. Posiada natomiast swoje charakterystyczne komendy, na przykład służącą do naprawy Głównego rekordu rozruchowego, czyli FIXMBR.

Zobacz także: Konsola Odzyskiwania w 2000/XP/2003

Uruchamianie powłoki tekstowej

MS-DOS

Na komputerze, na którym zainstalowany jest tylko MS-DOS, po uruchomieniu załaduje się oczywiście ten system. Można jednak tak go skonfigurować, by automatycznie po rozruchu wybrana aplikacja zastępowała standardową konsolkę. Najczęściej ustawia się tak osławionego Norton Commandera (komenda nc) lub 16-bitową wersję systemu Windows w wersji niższej lub równej 3.11 (polecenie win).

Jeśli chcesz pominąć ładowanie sterowników i aplikacji ładowanych podczas startu systemu, musisz przy rozruchu przytrzymać wciśnięty klawisz Shift. Po takim awaryjnym dojściu można dokonać zmian w konfiguracji systemu bądź usunąć problematyczne oprogramowanie i przy pomocy kombinacji klawiszy Ctrl + Alt + Del ponownie uruchomić system.

Menu wyboru zaawansowanych opcji rozruchu systemu Windows 98.

Windows 95 i 98

Wszystkie wersje systemów Windows 95 i 98 zawierają system MS-DOS w wersjach 7.0 (większość systemów Windows 95) i 7.1 (niektóre wersje Win. 95 oraz wszystkie Win. 98). System MS-DOS jest dostępny w dwóch wersjach:

  1. Jako niezależne środowisko uzyskiwane poprzez zablokowanie uruchamiania Windows. W celu jego uruchomienia należy w czasie uruchamiania komputera wcisnąć i przytrzymać klawisz F8, a z wyświetlonego menu zaawansowanych opcji rozruchowych wybrać „Tylko wiersz poleceń” (załadują się wtedy wszystkie sterowniki oraz automatycznie uruchamiane programy przy rozruchu systemu DOS lub Windows) albo „Tylko wiersz poleceń trybu awaryjnego” (nie zostaną załadowane żadne sterowniki i aplikacje).
  2. Jako zależne od 32-bitowego systemu operacyjnego środowisko okienkowe, powstałe poprzez wywołanie programu command.com lub aplikacji MS-DOS. Można je także uruchomić z menu Start, pozycji Programy, wybierając Tryb MS-DOS.

Tryb MS-DOS systemu Windows 98.

Windows Me

Dostęp do MS-DOS w systemie Windows Me za pomocą standardowych metod został ograniczony tylko do Wiersza poleceń dostępnego z menu Start.

Windows NT, 2000, XP, Server 2003, Vista, 7, Server 2008

Całe dziedzictwo MS-DOS zostało w systemach z rodziny NT ograniczone do Wiersza poleceń (uruchamianego z menu Start), maszyny wirtualnej DOS, trybu awaryjnego z wierszem polecenia, a w systemach 2000/XP/2003 także Konsoli Odzyskiwania.

Szybki dostęp

Powłokę tekstową można uruchomić korzystając z kombinacji klawiszy Windows + R. Pojawi się wtedy okienko uruchamiania aplikacji, w które, w zależności od zapotrzebowania możemy wpisać command (uruchamia maszynę wirtualną DOS; dostępne z każdego systemu Windows) lub cmd (wywołuje Wiersz poleceń w systemach z rodziny NT).

Tryb pełnoekranowy

Środowisko MS-DOS lub tekstowa konsola uruchamiana z poziomu systemu Windows może pracować w trybie okienkowym (domyślnie) lub pełnoekranowym. Przy ostatniej możliwości karta graficzna pracuje w trybie tekstowym, zapewniając znacznie szybszą pracę aplikacji DOS-owych oraz ich odpowiednią wydajność graficzną, a także tradycyjny wygląd programów. Przejście między trybami jest dokonywane poprzez kombinację klawiszy Alt + Enter, a wybieranie wyświetlanego okienka — Alt + Tab. Przełączenie w tryb pełnoekranowy jest możliwe we wszystkich systemach Windows starszych niż Windows Vista.

W systemach 2000/XP/2003 po przełączeniu do trybu pełnoekranowego konsola wyświetlana jest w trybie tekstowym o rozdzielczości 80 na 50 znaków. Umożliwia to zmieszczenie dwukrotnie większej ilości tekstu na ekranie, niż w przypadku tradycyjnego systemu MS-DOS, może jednak powodować problemy z kompatybilnością z niektórymi aplikacjami DOS (tekst jest wyświetlany tylko w górnej połowie ekranu). Można przywrócić klasyczną rozdzielczość 80x25 na dwa sposoby: poprzez polecenie mode con lines=25 lub poprzez Właściwości (wejdź w zakładkę Układ i w polu Rozmiar buforu ekranu: Wysokość podaj liczbę 25). Pierwsza metoda, działa tylko do końca sesji, czyli zamknięcia konsoli bądź sesji MS-DOS, druga — do czasu zmiany ustawień.

Część II. Korzystanie ze składni poleceń

Polecenia

Polecenia stosowane w MS-DOS i Wierszu poleceń dzielimy na dwie grupy:

  1. Polecenia wewnętrzne (np. cls, cd, dir) — polecenia interpretowane i wykonywane przez interpreter poleceń, ich wywołanie nie powoduje uruchomienia oddzielnego programu, przez co wykonywane są one zdecydowanie szybciej niż komendy zewnętrzne. Przy pomocy poleceń wewnętrznych wykonywane są proste operacje. Informacje o nich możemy uzyskać bezpośrednio z Wiersza polecenia poprzez zastosowanie komendy help polecenie lub polecenie /?.
  2. Polecenia zewnętrzne (np. ipconfig, bcdedit) — osobne programy uruchamiane po wpisaniu ich nazwy w interpreterze, ich działanie jest zazwyczaj wolniejsze od poleceń wewnętrznych, jednak wykonują one bardziej skomplikowane operacje. Miejsce umieszczenia tychże programów jest określone w zmiennej środowiskowej PATH, dzięki czemu nie musimy podawać ścieżki dostępu przy korzystaniu z nich. Informacje o poleceniach zewnętrznych możemy uzyskać bezpośrednio z Wiersza polecenia poprzez zastosowanie komendy polecenie /?.

Przykład wywołania polecenia „netstat -b” w systemie Windows Vista. W ostatniej linii widoczny znak zachęty — ścieżka dostępu do bieżącego katalogu i znak „>”.

Parametry

Wraz z większością poleceń można stosować parametry, które umożliwiają dokładne określenie, co zostanie wykonane. Parametry, inaczej przełączniki, poprzedzane są zazwyczaj ukośnikiem / lub minusem -. Niekiedy parametry poprzedzanie są innymi znakami (np. attrib), co zostaje podane przy opisie danej komendy. Oba zapisy są równoznaczne. Przełączniki są podawane zawsze po nazwie polecenia. Rozpatrzmy to na przykładzie komendy convert:

convert [wolumin] /fs:ntfs [/v] [/cvtarea:nazwa_pliku] [/nosecurity] [/x]

Polecenie convert służy do konwersji woluminu w systemie plików FAT (i pochodnych) na NTFS bez formatowania, nazwa komendy podana jest jako pierwsza. Za nią następuje wymagane określenie litery woluminu, który należy poddać konwersji, kolejno niezbędny zapis /fs:ntfs, informujący o systemie plików partycji, a następnie umieszczonych jest kilka opcjonalnych przełączników, decydujących o bardziej zaawansowanych funkcjach polecenia convert.

Każde polecenie, wraz z przełącznikami, jest wpisywane w jednej linii, której długość maksymalna to 8191 znaków. Jeśli chcemy koniecznie w jednym wierszu zawrzeć kilka komend, należy oddzielić je od siebie znakiem &.

Wprowadzanie poleceń

Środowisko tekstowe w interaktywnym, bezpośrednim trybie pracy zgłasza gotowość do wykonywania poleceń poprzez wyświetlenie znaku zachęty (ang. system prompt), najczęściej jest nim ścieżka dostępu do bieżącego katalogu i znak >, np.

C:\Windows\system32>

Za znakiem zachęty znajduje się migający kursor oznaczający miejsce wstawiania wpisywanych znaków. Każde wpisane polecenie należy zatwierdzać poprzez wciśnięcie klawisza Enter.

Znak zachęty można zmienić przy pomocy polecenia prompt.

W systemie MS-DOS, bez uruchomionego pakietu narzędziowego doskey, do edycji wprowadzanych komend służą przyciski:

  • Backspace oraz — usuwają ostatni znak z wiersza,
  • F1 oraz  — dodają na końcu wiersza znak z buforu poprzedniego polecenia,
  • Ins — powoduje przejście z trybu wstawiania znaków z bufora do trybu wstawiania nowych znaków w tym samym miejscu (bez zmieniania pozycji kursora),
  • Del — usuwa znak z buforu z poprzedniego polecenia w pozycji kursora,
  • F3 — dodaje wszystkie znaki znajdujące się w buforze od miejsca kursora do końca linii (w buforze).

W MS-DOS z uruchomionym programem narzędziowym doskey oraz w Wierszu poleceń edycji poleceń dokonuje się poniższymi klawiszami:

  • oraz  — umożliwiają przemieszczanie kursora w bieżącej linii,
  • oraz  — umożliwiają przeglądanie historii wykonywanych komend (czyli bufora poleceń) i wybór ich do modyfikacji/ponownego wykonania,
  • Esc — czyści obecny wiersz.

Symbole przetwarzana warunkowego

Korzystając z symboli przetwarzania warunkowego, można wykonywać wiele poleceń z pojedynczego wiersza polecenia lub skryptu (skrypty, czyli pliki wsadowe, omówione są w następnej części pracy). Po uruchomieniu wielu komend przy użyciu symboli przetwarzania warunkowego, polecenia za symbolem przetwarzania warunkowego działają zgodnie z wynikami polecenia znajdującego się przed symbolem przetwarzania warunkowego. Może być to korzystne, jeśli chcemy, by wykonanie polecenia nastąpiło tylko wtedy, gdy poprzednia komenda zawiedzie lub zostanie wykonana pomyślnie. Za pomocą znaków specjalnych wymienionych w poniższej tabeli można przekazywać wiele poleceń.

Znak Składnia Działanie
& polecenie1 & polecenie2 Oddziela wiele poleceń w pojedynczej linii. Zostaje wykonane pierwsze polecenie, a następnie drugie (niezależnie od wyniku działania pierwszej komendy).
&& polecenie1 && polecenie2 Określa, że wykonywanie polecenia następującego po symbolu && nastąpi tylko wtedy, gdy poprzedzająca symbol komenda została wykonana pomyślnie.
|| polecenie1 || polecenie2 Polecenie następujące po symbolu || zostanie wykonane tylko wtedy, gdy nie powiedzie się wykonywanie komendy poprzedzającej symbol || (tj. zgłoszony był kod błędu większy od zera).
( ) (polecenie1 & polecenie2) Grupowanie poleceń.
lub , polecenie1 parametr1;parametr2 Oddzielanie parametrów poleceń.

Jeśli znaki specjalne, takie jak handlowe „i” (&), znak potoku (|) i nawiasy ( ) są przekazywane jako argumenty, należy poprzedzać je symbolem unikowym (^) lub obejmować argument cudzysłowem.

Dojścia i urządzenia specjalne

Standardowo w Wierszu poleceń czy w systemie MS-DOS dane wejściowe podawane są z klawiatury, a wyniki działania komend i komunikaty o błędach wyprowadzane są na ekran. Korzystając z operatorów przekierowania poleceń można strumienie danych wejściowych i wyjściowych przesyłać do innych niż domyślne lokalizacji, które określane są jako dojścia. Dostępne dojścia w Wierszu poleceń systemu Windows przedstawione są w poniższej tabeli.

DOJŚCIA DOSTĘPNE W WIERSZU POLECEŃ SYSTEMU WINDOWS
Dojście Odpowiednik dojścia Opis
NUL nul Urządzenie puste — nicość. Dane wejściowe lub wyjściowe z dojścia nul nie istnieją, wysłane tam — zostają skasowane.
STDIN 0 Dane wejściowe wprowadzane z klawiatury.
STDOUT 1 Dane wyjściowe wysyłane do okna wiersza polecenia.
STDERR 2 Komunikaty o błędach wyświetlane w oknie wiersza polecenia.
UNDEFINED 3-9 Dojścia są definiowane indywidualnie przez aplikację i specyficzne dla poszczególnych programów.

W CMD pierwsze dziesięć dojść jest reprezentowane przez liczby od 0 do 9. W środowisku tekstowym można uruchomić program i przekierować dowolne z 10 pierwszych dojść programu. Aby określić używane dojście, należy wpisać jego numer przed operatorem przekierowania. Jeżeli nie zdefiniowano dojścia, domyślny operator przekierowania danych wejściowych < jest oznaczony 0, a domyślny operator przekierowania danych wyjściowych > to 1. Po wpisaniu operatora < lub > należy określić, gdzie dane powinny być odczytywane lub zapisywane. Należy podać nazwę pliku lub inne istniejące dojście.

Aby określić przekierowanie do istniejących dojść, należy użyć znaku &, po którym należy wpisać numer dojścia do przekierowania (czyli &nr_dojścia). Na przykład następujące polecenie przekierowuje dojście 2 (tzn. STDERR) do dojścia 1 (tzn. STDOUT):

2>&1

Natomiast dojścia MS-DOS, czyli tzw. urządzenia specjalne zostały opisane tutaj.

URZĄDZENIA WEJŚCIA - WYJŚCIA DOSTĘPNE W SYSTEMIE MS-DOS
Dojście Odpowiednik dojścia Opis
NUL nul Urządzenie puste — nicość. Dane wejściowe lub wyjściowe z dojścia nul nie istnieją, wysłane tam — zostają skasowane.
AUX aux Port szeregowy CON1.
COM comx Port szeregowy. x oznacza numer portu. System MS-DOS obsługuje standardowo 4 porty RS-232.
CON con CONsole, czyli klawiatura.
LPT lptx Porty równoległe (IEEE 1284). x określa numer portu: od 1 do 3.
PRN prn PRiNter czyli drukarka, to samo, co port LPT1.

Operatory przekierowania danych

Operatory przekierowania zawiera następująca tabela.

Operator przekierowania Opis
Zapisuje dane wyjściowe polecenia w pliku lub wysyła do urządzenia (np. drukarki), nie zwraca wyników do środowiska tekstowego. Jeśli wybrany plik istnieje zostanie nadpisany.
Odczytuje dane wejściowe z pliku, a nie z domyślnego dojścia (zazwyczaj klawiatury).
>>  Umieszcza dane wyjściowe na końcu wskazanego pliku, nie kasując zawartych w nim wcześniej informacji.
>& Zapisuje dane wyjściowe określonego dojścia w danych wejściowych innego dojścia. Operator nie jest dostępny w systemach MS-DOS. Zob. polecenie CTTY.
<& Odczytuje dane wejściowe określonego dojścia i zapisuje je w danych wyjściowych innego dojścia. Operator nie jest dostępny w systemach MS-DOS. Zob. polecenie CTTY.
| Odczytuje dane wyjściowe określonego polecenia i zapisuje je w danych wejściowych innego polecenia. Nazywany również potokiem, znajduje zastosowanie przy korzystaniu z filtrów.

Przekierowywanie danych wyjściowych

Wykonane polecenia zwracają wyniki do standardowego wyjścia, tj. do okna wiesza polecenia oraz środowiska tekstowego MS-DOS. Przy pomocy symbolu > można przesłać dane do innego dojścia. Ilustruje to poniższy przykład.

dir C:\ > D:\listaplikow.txt

Skutkiem zastosowania tej komendy będzie wylistowanie wszystkich plików i folderów znajdujących się w katalogu głównym dysku C:. Lista zostanie umieszczona w pliku listaplików.txt.

Jeśli chcemy wydrukować wynik tego samego polecenia należy zastosować komendę (tylko system MS-DOS).

dir C:\ > PRN

Operator > otwiera określony plik w trybie tylko do zapisu. W przypadku korzystania z tego operatora nie można więc odczytywać danego pliku. Jeżeli program jest uruchamiany przy użyciu operatora przekierowania >&0, wszystkie próby zapisu w dojściu 1 zakończą się niepowodzeniem, ponieważ dojście 0 jest początkowo otwierane w trybie tylko do odczytu.

Przekierowywanie danych wejściowych

Operator < stosujemy w przypadku, gdy chcemy przesłać dane z wejścia innego niż standardowe (klawiatura), zazwyczaj z pliku. Przykładowo możemy go użyć do posortowania zawartości pliku tekstowego, co ilustruje poniższa komenda:

sort < nieposortowany_plik.txt

Operator < otwiera plik o określonej nazwie, dostępny tylko do odczytu. Jeżeli używany jest ten operator, nie można zapisywać danych w tym właśnie pliku. Jeżeli na przykład program jest uruchamiany za pomocą operatorów <&2, wszystkie próby odczytania dojścia 0 nie powiodą się, ponieważ dojście 2 początkowo jest otwierane w trybie tylko do zapisu.

Dołączanie danych wyjściowych

W celu zapisania danych wyjściowych polecenia na końcu wybranego pliku należy zastosować przekierowanie >>. Informacje zapisane wcześniej w tym pliku nie zostaną nadpisane. Jeżeli chcemy monitorować zmianę czasu pingu adresu IP 8.8.8.8 możemy zastosować poniższą komendę:

ping 8.8.8.8 >> C:\pingstat.txt

Przekierowywanie danych wyjściowych i duplikowanie

Jeżeli dane wyjściowe są przekierowywane do pliku i określona jest nazwa istniejącego pliku, program cmd.exe lub MS-DOS otwiera ten plik w trybie tylko do zapisu i zastępuje jego zawartość. Jeżeli określono dojście, duplikowany jest plik w istniejącym dojściu.

Aby duplikować dojście 3 zdefiniowane przez użytkownika w dojściu 1 (czyli standardowym wyjściu), stosujemy polecenie:
>&3

Nie zostało zastosowane tutaj oznaczenie dojścia 1, ponieważ jest to standardowe wyjście i nie trzeba go określać.

Aby przekierować wszystkie dane wyjściowe, włącznie z dojściem 2 (tzn. STDERR), polecenia ipconfig do dojścia 1 (tzn. STDOUT), a następnie przekierować dane wyjściowe do pliku dane.txt, należy wpisać:

ipconfig >> dane.txt 2>&1

Przekierowywanie danych wejściowych i duplikowanie

Aby użyć operatora przekierowania danych wejściowych (<) z operatorem duplikacji (&), należy określić istniejący plik. Jeżeli plik wejściowy istnieje, zostanie otworzony w trybie tylko do odczytu i znajdujące się w nim znaki użyte będą jako dane wejściowe polecenia, podobnie jak dane wejściowe z klawiatury. Jeżeli podano dojście, program cmd.exe, command.com lub system DOS duplikuje określone dojście w istniejącym dojściu w systemie.

Na przykład, aby otworzyć plik plik.txt jako dane wejściowe odczytywane dla dojścia 0 (tzn. STDIN), stosujemy:

< plik.txt

Aby otworzyć plik test.txt, posortować jego zawartość, a następnie wysłać dane wyjściowe do okna wiersza polecenia (tzn. STDOUT), należy wpisać:

sort < test.txt

W celu znalezienia pliku szukany.txt, a następnie przekierowania dojścia 1 (tzn. STDOUT) i dojścia 2 (tzn. STDERR) do pliku wyszukiwanie.txt, trzeba zastosować komendę:

findfile szukany.txt > wyszukiwanie.txt 2<&1

Aby duplikować dojście 5 zdefiniowane przez użytkownika jako dane wejściowe dojścia 0 (tzn. STDIN, czyli standardowe wejście), należy wpisać:

<&5

Korzystanie z operatora potoku

Operator potoku (|) pobiera dane wyjściowe (domyślnie STDOUT) polecenia i kieruje je do wejścia (domyślnie STDIN) innej komendy. Następujące polecenie sortuje bieżący katalog:

dir | sort

W tym przykładzie wykonywanie obu poleceń rozpoczyna się jednocześnie, a następnie wykonywanie polecenia sort jest wstrzymywane do momentu odebrania danych wyjściowych polecenia dir. Polecenie sort używa danych wyjściowych polecenia dir jako własnych danych wejściowych, a następnie wysyła własne dane wyjściowe do standardowego dojścia 1 (tzn. STDOUT).

Wiele poleceń wymaga potwierdzenia wykonania poprzez wciśnięcie Y lub T (przerwanie następuje po kliknięciu N). Niekiedy komunikację z użytkownikiem da się wyłączyć poprzez zastowowanie odpowiedniego przełącznika, niestety nie zawsze jest to możliwe. Zadawanie pytań przez środowisko tekstowe jest szczególnie niekorzystne w plikach wsadowych. Problem ilustruje poniższy przykład:

C:\Users\Dawid Suder>chkdsk /f
Typ systemu plików to NTFS.
Nie można zablokować bieżącego dysku.

Program CHKDSK nie może działać, ponieważ wolumin jest używany przez inny
proces. Czy wolumin ten ma być sprawdzany przy następnym uruchomieniu
komputera? (T/N)

Zostało zastosowane tutaj polecenie chkdsk /f, którego zadaniem jest sprawdzenie dysku twardego komutera i naprawienie ewt. błędów. Wykonanie zadania nie jest możliwe na działającym HDD, dlatego program proponuje przeprowadzenie testu przy ponownym uruchomieniu komputera. W celu kontynuwania musimy podać odpowiedź. Możemy zastosować poniższe polecenie do wyłączenia sprawdzania woluminu przy ponownym uruchomieniu...

echo n | chkdsk /f

Przekierowanie danych wyjściowych echo, czyli wpisanego po tekstu do danych wejściowych chkdsk /f powoduje, że program „uwierzy”, że klawisz został naciśnięty. Metoda ta nie działa jednak przy wprowadzaniu haseł, np. w komendach FTP czy poleceniu runas.

Łączenie poleceń przy użyciu operatorów przekierowania

Operatory przekierowania można łączyć. Nie jest to często wykorzystywane przy ręcznym wprowadzaniu poleceń, prawdziwą swą siłę objawia stosowanie ich w plikach wsadowych.

Można tworzyć niestandardowe polecenia, łącząc polecenia filtrujące z innymi poleceniami i nazwami plików. Na przykład można używać następującego polecenia do utworzenia listy nazw plików zawierających w nazwie literę A, znajdujących się w bieżącym katalogu:

dir /b | find „A” list.txt

Dane wyjściowe polecenia dir są wysyłane za pośrednictwem polecenia filtrującego find. Nazwy plików zawierające literę A są zapisywane jako lista nazw plików (na przykład stary.log, przykład.txt i dane.doc) w pliku list.txt.

Aby w tym samym poleceniu zastosować kilka filtrów, należy oddzielić je symbolem potoku (|). Na przykład następujące polecenie przeszukuje każdy katalog na dysku C:, znajduje nazwy plików zawierające ciąg „nazwa”, a następnie wyświetla je na kolejnych ekranach (więcej informacji o filtrach zostało podane w dalszej części pracy):

dir c:\ /s /b | find „nazwa” | more

Działanie powyższego polecenia jest podobne do poprzedniej komendy. Komenda dir opdowiada za wylistowanie wszystkich plików z partycji C:. Dane wyjściowe polecenia są przekazywane do komendy find, której zadaniem jest wyszukanie wszystkich plików o nazwie „nazwa”. Dane wyjściowe nie są jednak przekazywane do pliku tekstowego (jak poprzednio), a wyświetlane na ekranie (standardowe wyjście). Polecenie more ma za zadanie sprawić, by dane wyjściowe były wyświetlane na kolejnych ekranach, których zmiana następuje po wciśnięciu dowolnego przycisku.

Filtry

 

Copyright © Dawid Suder, 2009 - 2012