128Kb*8 pamięci powinno wystarczyć każdemu :-) (B. Gates 1981)

piątek, 5 marca 2010

Omówienie powłoki poleceń

Share
Powłoka poleceń jest oddzielnym programem umożliwiającym bezpośrednią komunikację między użytkownikiem a systemem operacyjnym. Interfejs użytkownika powłoki poleceń nie funkcjonuje w trybie graficznym i zapewnia środowisko, w którym są uruchamiane aplikacje i narzędzia działające w trybie tekstowym. Powłoka poleceń wykonuje programy i wyświetla dane wyjściowe na ekranie przy użyciu pojedynczych znaków, podobnie jak interpreter Command.com poleceń podsystemu MS-DOS. Powłoka poleceń systemu Windows XP używa interpretera poleceń Cmd.exe, który ładuje aplikacje i kieruje przepływem informacji między nimi, aby przetłumaczyć dane wejściowe użytkownika na formę zrozumiałą dla systemu operacyjnego.
Za pomocą powłoki poleceń można tworzyć i edytować pliki wsadowe (nazywane również skryptami) w celu zautomatyzowania rutynowych zadań. Na przykład można używać skryptów do automatyzowania zarządzania kontami użytkowników lub wykonywania kopii zapasowych w godzinach nocnych. Można również wykorzystywać Host skryptów systemu Windows CScript.exe do uruchamiania bardziej zaawansowanych skryptów w powłoce poleceń. Przy użyciu plików wsadowych można bardziej efektywnie wykonywać operacje niż za pomocą interfejsu użytkownika. Pliki wsadowe akceptują wszystkie polecenia dostępne w wierszu polecenia. Aby uzyskać więcej informacji na temat plików wsadowych i skryptów, zobacz Korzystanie z plików wsadowych.
Można dostosować okno wiersza polecenia, aby ułatwić przeglądanie i precyzyjnie kontrolować sposób uruchamiania programów. Aby uzyskać więcej informacji o dostosowywaniu okna wiersza polecenia, zobacz Aby skonfigurować wiersz polecenia.
Korzystanie ze składni poleceń
Elementy składni - polecenia i parametry - należy wpisywać w określonej kolejności. Poniższy przykład polecenia xcopy przedstawia różnorodność formatów tekstu składni:
xcopy lokalizacja_źródłowa [lokalizacja_docelowa] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:mm-dd-rrrr]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a|/m}] [/n] [/o] [/x] [/exclude:plik_1[+[plik_2]][+[plik_3]] [{/y|/-y}] [/z]
Następująca tabela objaśnia sposób interpretowania różnych formatów tekstu.
Legenda formatowania
Format
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ą
Czcionka Courier
Kod lub dane wyjściowe programu
Korzystanie z wielu poleceń i symboli przetwarzania warunkowego
Korzystając z symboli przetwarzania warunkowego, można wykonywać wiele poleceń z pojedynczego wiersza polecenia lub skryptu. Po uruchomieniu wielu poleceń przy użyciu symboli przetwarzania warunkowego, polecenia po prawej stronie symbolu przetwarzania warunkowego działają zgodnie z wynikami polecenia znajdującego się po lewej stronie symbolu przetwarzania warunkowego. Na przykład może być konieczne wykonanie polecenia tylko wtedy, gdy poprzednie polecenie zawiedzie lub zostanie wykonane pomyślnie.
Za pomocą znaków specjalnych wymienionych w poniższej tabeli można przekazywać wiele poleceń.
Znak
Składnia
Definicja
& [...]
polecenie_1 & polecenie_2
Służy do oddzielania wielu poleceń w pojedynczym wierszu polecenia. Program Cmd.exe wykonuje pierwsze polecenie, a następnie drugie polecenie.
&& [...]
polecenie_1 && polecenie_2
Służy do wykonywania polecenia następującego po symbolu && tylko wtedy, gdy poprzedzające symbol polecenie wykonano pomyślnie. Program Cmd.exe wykonuje pierwsze polecenie, a następnie wykonuje drugie polecenie, jeśli pierwsze polecenie zostało wykonane pomyślnie.
|| [...]
polecenie_1 || polecenie_2
Służy do wykonywania polecenia następującego po symbolu || tylko wtedy, gdy zawiedzie polecenie poprzedzające symbol ||. Program Cmd.exe wykonuje pierwsze polecenie, a następnie wykonuje drugie polecenie, jeśli pierwsze polecenie nie zostało wykonane pomyślnie (zgłoszony był kod błędu większy od zera).
( ) [...]
(polecenie_1 & polecenie_2)
Służy do grupowania lub zagnieżdżania wielu poleceń.
; lub ,
polecenie_1 parametr_1;parametr_2
Służy do oddzielania parametrów poleceń.
Uwagi
Handlowe „i” (&), potok (|) i nawiasy ( ) to znaki specjalne, które należy poprzedzać znakiem anulowania (^) lub cudzysłowem, jeśli są przekazywane jako argumenty.
Polecenie, które pomyślnie wykona operację, zwraca kod wyjściowy równy zero (0) lub nie zwraca kodu wyjściowego. Aby uzyskać więcej informacji o kodach wyjściowych, zobacz Zestawy Microsoft Windows Resource Kit.
Zagnieżdżanie poleceń powłoki
Można zagnieżdżać powłoki poleceń w programie Cmd.exe, otwierając nowe wystąpienie programu Cmd.exe w wierszu polecenia. Domyślnie każde wystąpienie programu Cmd.exe dziedziczy środowisko nadrzędnej aplikacji Cmd.exe. Zagnieżdżając wystąpienia programu Cmd.exe, można wprowadzać zmiany w środowisku lokalnym, nie wpływając na nadrzędną aplikację Cmd.exe. Pozwala to zachować oryginalne środowisko programu Cmd.exe i powrócić do niego po zamknięciu zagnieżdżonej powłoki poleceń. Zmiany wprowadzane w zagnieżdżonej powłoce poleceń nie są zapisywane.
Aby zagnieździć powłokę poleceń, w wierszu polecenia należy wpisać:
cmd
Pojawi się komunikat podobny do następującego:
Microsoft (R) Windows XP (TM)
(C) Copyright 1985-2001 Microsoft Corp.
Aby zamknąć zagnieżdżoną powłokę poleceń, należy wpisać polecenie exit.
Za pomocą poleceń setlocal i endlocal można bardziej precyzyjnie lokalizować zmiany w wystąpieniu programu Cmd.exe (lub w skrypcie). Polecenie setlocal tworzy zakres lokalny, a polecenie endlocal kończy funkcjonowanie zakresu lokalnego. Wszystkie zmiany wprowadzone w zakresie poleceń setlocal i endlocal są odrzucane, a oryginalne środowisko pozostaje bez zmian. Te dwa polecenia można zagnieździć maksymalnie na 32 poziomach. Aby uzyskać więcej informacji na temat poleceń setlocal i endlocal, zobacz Polecenie setlocal i Polecenie endlocal.
Korzystanie ze zmiennych środowiskowych w programie Cmd.exe
Środowisko powłoki poleceń programu Cmd.exe jest definiowane przez zmienne określające zachowanie powłoki poleceń i systemu operacyjnego. Można definiować zachowanie środowiska powłoki poleceń lub całego środowiska systemu operacyjnego przy użyciu dwóch typów zmiennych środowiskowych (systemowych i lokalnych). Systemowe zmienne środowiskowe definiują zachowanie globalnego środowiska systemu operacyjnego. Lokalne zmienne środowiskowe definiują zachowanie środowiska bieżącego wystąpienia programu Cmd.exe.
Systemowe zmienne środowiskowe są wstępnie ustawiane w systemie operacyjnym i dostępne dla wszystkich procesów systemu Windows XP. Zmienne systemowe mogą zmieniać tylko użytkownicy z uprawnieniami administracyjnymi. 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 opisuje różne typy zmiennych zgodnie z malejącą kolejnością pierwszeństwa:
1.Wbudowane zmienne systemowe.
2.Zmienne systemowe w gałęzi HKEY_LOCAL_MACHINE.
3.Zmienne lokalne w gałęzi HKEY_CURRENT_USER.
4.Wszystkie zmienne środowiskowe i ścieżki ustawione w pliku Autoexec.bat.
5.Wszystkie zmienne środowiskowe i ścieżki ustawione w skrypcie logowania (jeżeli istnieją).
6.Zmienne używane interakcyjnie w skrypcie lub pliku wsadowym.
W powłoce poleceń każde wystąpienie programu Cmd.exe dziedziczy środowisko aplikacji nadrzędnej. Można więc modyfikować zmienne w nowym środowisku programu Cmd.exe, nie wpływając na środowisko aplikacji nadrzędnej.
Następująca tabela zawiera listę systemowych i lokalnych zmiennych środowiskowych systemu Windows XP.
Zmienna
Typ
Opis
%ALLUSERSPROFILE%
Lokalna
Zwraca lokalizację profilu wszystkich użytkowników.
%APPDATA%
Lokalna
Zwraca lokalizację, w której aplikacje domyślnie przechowują dane.
%CD%
Lokalna
Zwraca ciąg bieżącego katalogu.
%CMDCMDLINE%
Lokalna
Zwraca dokładny wiersz polecenia użyty do uruchomienia bieżącego wystąpienia programu Cmd.exe.
%CMDEXTVERSION%
Systemowa
Zwraca numer wersji bieżących rozszerzeń procesora poleceń.
%COMPUTERNAME%
Systemowa
Zwraca nazwę komputera.
%COMSPEC%
Systemowa
Zwraca dokładną ścieżkę do pliku wykonywalnego powłoki poleceń.
%DATE%
Systemowa
Zwraca bieżącą datę. Korzysta z tego samego formatu, co polecenie date /t. Generowana przez program Cmd.exe. Aby uzyskać więcej informacji o poleceniu date, zobacz Polecenie date.
%ERRORLEVEL%
Systemowa
Zwraca kod błędu ostatnio używanego polecenia. Wartość różna od zera zazwyczaj oznacza błąd.
%HOMEDRIVE%
Systemowa
Zwraca literę dysku lokalnej stacji roboczej połączoną z katalogiem macierzystym użytkownika. Jest ustawiana na podstawie wartości katalogu macierzystego. Katalog macierzysty użytkownika jest określany w przystawce Użytkownicy i grupy lokalne.
%HOMEPATH%
Systemowa
Zwraca pełną ścieżkę katalogu macierzystego użytkownika. Jest ustawiana na podstawie wartości katalogu macierzystego. Katalog macierzysty użytkownika jest określany w przystawce Użytkownicy i grupy lokalne.
%HOMESHARE%
Systemowa
Zwraca ścieżkę sieciową udostępnionego katalogu macierzystego użytkownika. Jest ustawiana na podstawie wartości katalogu macierzystego. Katalog macierzysty użytkownika jest określany w przystawce Użytkownicy i grupy lokalne.
%LOGONSEVER%
Lokalna
Zwraca nazwę kontrolera domeny weryfikującego bieżącą sesję logowania.
%NUMBER_OF_PROCESSORS%
Systemowa
Określa liczbę procesorów zainstalowanych w komputerze.
%OS%
Systemowa
Zwraca nazwę systemu operacyjnego. System Windows 2000 wyświetla nazwę systemu operacyjnego jako Windows_NT.
%PATH%
Systemowa
Określa ścieżkę wyszukiwania plików wykonywalnych.
%PATHEXT%
Systemowa
Zwraca listę rozszerzeń nazw plików rozpoznawanych jako wykonywalne przez system operacyjny.
%PROCESSOR_ARCHITECTURE%
Systemowa
Zwraca architekturę mikroukładu procesora. Wartości: x86, IA64.
%PROCESSOR_IDENTFIER%
Systemowa
Zwraca opis procesora.
%PROCESSOR_LEVEL%
Systemowa
Zwraca numer modelu procesora zainstalowanego w komputerze.
%PROCESSOR_REVISION%
Systemowa
Zwraca numer wersji procesora.
%PROMPT%
Lokalna
Zwraca ustawienia wiersza polecenia bieżącego interpretera. Jest generowana przez program Cmd.exe.
%RANDOM%
Systemowa
Zwraca losowy numer dziesiętny z zakresu od 0 do 32 767. Jest generowana przez program Cmd.exe.
%SYSTEMDRIVE%
Systemowa
Zwraca dysk zawierający katalog główny systemu Windows XP (tzn. główny katalog systemowy).
%SYSTEMROOT%
Systemowa
Zwraca lokalizację katalogu głównego systemu Windows XP.
%TEMP% i %TMP%
Systemowa i użytkownika
Zwraca domyślne katalogi tymczasowe używane przez aplikacje dostępne dla użytkowników, którzy są aktualnie zalogowani. Niektóre aplikacje wymagają katalogu TEMP, a inne katalogu TMP.
%TIME%
Systemowa
Zwraca bieżącą godzinę. Korzysta z tego samego formatu, co polecenie time /t. Jest generowana przez program Cmd.exe. Aby uzyskać więcej informacji o poleceniu time, zobacz Polecenie time.
%USERDOMAIN%
Lokalna
Zwraca nazwę domeny zawierającej konto użytkownika.
%USERNAME%
Lokalna
Zwraca nazwę aktualnie zalogowanego użytkownika.
%USERPROFILE%
Lokalna
Zwraca lokalizację profilu bieżącego użytkownika.
%WINDIR%
Systemowa
Zwraca lokalizację katalogu systemu operacyjnego.
Ustawianie zmiennych środowiskowych
Za pomocą polecenia set można tworzyć, zmieniać, usuwać lub wyświetlać zmienne środowiskowe. Polecenie set modyfikuje tylko zmienne w bieżącym środowisku powłoki.
Aby przejrzeć zmienną, w wierszu polecenia należy wpisać:
set nazwa_zmiennej
Aby dodać zmienną, w wierszu polecenia należy wpisać:
set variablename=wartość
Aby usunąć zmienną, w wierszu polecenia należy wpisać:
set nazwa_zmiennej=
Jako wartości zmiennych można używać większości znaków, łącznie ze spacjami. Stosowane znaki specjalne <, >, |, &, lub ^ należy poprzedzać znakiem anulowania (^) lub cudzysłowem. Używany cudzysłów jest dołączany jako część wartości, ponieważ wszystkie elementy występujące po znaku równości są traktowane jako wartość. Poniżej podano przykłady:
Aby utworzyć wartość zmiennej nowa&nazwa, należy wpisać:
set varname=nowa^&nazwa
Aby utworzyć wartość zmiennej "nowa&nazwa", należy wpisać:
set varname="nowa&nazwa"
Jeżeli w wierszu polecenia wpisano set varname=nowa&nazwa, pojawia się komunikat o błędzie podobny do następującego:
"'Nazwa' nie została rozpoznana jako polecenie wewnętrzne lub zewnętrzne, program wykonywalny lub plik wsadowy."
W nazwach zmiennych nie jest uwzględniana wielkość liter. Polecenie set wyświetla jednak zmienną dokładnie tak, jak ją wpisano. W nazwach zmiennych można więc łączyć wielkie i małe litery, aby zwiększyć czytelność kodu (na przykład NazwaUżytkownika).
Uwagi
Maksymalny rozmiar pojedynczej zmiennej środowiskowej wynosi 8 192 bajty.
Maksymalny całkowity rozmiar wszystkich zmiennych środowiskowych, łącznie z nazwami zmiennych i znakiem równości, wynosi 65 536 KB.
Podstawianie wartości zmiennych środowiskowych
Aby włączyć podstawianie wartości zmiennych w wierszu polecenia lub w skryptach, należy wpisać nazwę zmiennej między znakami procentu (tzn. %nazwa_zmiennej%). Dzięki zastosowaniu znaków procentu można mieć pewność, że program Cmd.exe odwoła się do wartości zmiennej, a nie wykona dosłownego porównania. Po zdefiniowaniu wartości zmiennej dla nazwy zmiennej, należy wpisać nazwę zmiennej między znakami procentu. Program Cmd.exe wyszukuje wszystkie wystąpienia nazwy zmiennej i zastępuje je zdefiniowaną wartością zmiennej. Na przykład jeżeli utworzono skrypt zawierający różne wartości (na przykład nazwy użytkowników) i trzeba zdefiniować zmienną środowiskową USERNAME dla poszczególnych użytkowników zgodnie z tymi wartościami, można napisać skrypt zawierający zmienną USERNAME wpisaną między znakami procentu. Po uruchomieniu tego skryptu program Cmd.exe zamienia wpis %USERNAME% na wartości zmiennej, więc nie trzeba ręcznie wykonywać tego zadania dla poszczególnych użytkowników. Podstawianie zmiennych nie jest cykliczne. Program Cmd.exe sprawdza zmienne tylko jeden raz. Aby uzyskać więcej informacji o podstawianiu zmiennych, zobacz Polecenie for i Polecenie call.

5 komentarzy:

  1. Ten komentarz został usunięty przez autora.

    OdpowiedzUsuń
  2. mateusz botkiewicz rozmawia z delmą

    OdpowiedzUsuń
  3. Alfi przemyca ser z Bułgari

    OdpowiedzUsuń
  4. Ten komentarz został usunięty przez autora.

    OdpowiedzUsuń
  5. Ten komentarz został usunięty przez autora.

    OdpowiedzUsuń

 
www.Webmaster.M106.COM