materiał skrypty powłoki cmd exe


SKRYPTY PISANE W JĘZYKU POWŁOKI (CMD.EXE)

Skrypty w Windows2000/XP, aby wykonane były przez interpreter poleceń cmd.exe muszą mieć rozszerzenia .cmd lub .bat.

Polecenia wiersza poleceń wykorzystywane w skryptach szeroko opisane są w pomocy systemu Windows. Znajdziemy też opis przydatnych instrukcji: if, for, goto, call, echo itd.

Pliki wsadowe i użyteczne zmienne środowiska pracy

Jeśli pisanie skryptów logowania w jakimś trudnym języku wygląda jak strzelanie z armaty do wróbli, można wykorzystać pliki wsadowe (batch files). Za pomocą interpretatora poleceń (command interpreter) CMD tworzy się całkiem wymyślne pliki wsadowe.

Niektórzy znawcy potrafiliby chyba stworzyć kompletny system operacyjny posługując się wyłącznie plikiem wsadowym. W pliku wsadowym nie można stosować wyszukanych pętli programowych i programowania strukturalnego, ale do nadawania wartości zmiennym środowiska pracy lub mapowania kilku dysków plik taki nadaje się znacznie lepiej niż skrypt VB.

Uruchamianie starszych skryptów w systemie Windows 2000

System Windows 2000 automatycznie uruchamia w tle w komputerze-kliencie skrypty
z rozszerzeniami BAT i CMD. Jest to prawdą nawet jeśli w skrypcie umieszczone są tylko przerwania (break), aby zatrzymać go podczas wyświetlania na ekranie.

Jeśli plik wsadowy lub plik poleceń (command flle) ma być wyświetlany na ekranie, należy aktywować następujące założenia grupowe (group policy):

User Configuration|Administrative Templates|System|l_ogon/Logoff|Run Logon Scripts Visible

Kilka zmiennych środowiskowych może być przydatnych do pisania skryptów zarządzających kontami użytkowników. Oto ich lista:

Informację o zmiennych uzyskamy korzystając z polecenia: SET

Poniżej znajduje się plik wsadowy wykorzystujący te zmienne:

@echo off

echo Hello. %USERNAMES%. Welcome to the %USERDOMAIN% domain.

Echo You have logged on to %LOGONSERVER% z %COMPUTERNAME%

Echo You are running %QS% from the %SYSTEMROOT% directory.

Echo Your home directory is on %homedrive%%homepath%.

Echo The path to this directory is %homeshare%%homepath%

Echo Your local settings are located in %USERPR0FILE%.

Echo Additional settings are located in %ALLUSERSPROFILE%.

Wynik wykonania powyższego pliku może wyglądać następująco:

Hello. Rmanuel. Welcome to the Company.com domain.

You have logged on to PHX-DC-01 from PHX-W2KP-032.

You are running Windows_NT from the \WINNT directory.

Your home directory is Z:\RMANUEL

The path to this directory is \\phx-dc-01\usres.

Your local settings are stored in C:\Documents and Settings\Administrator [PHX-W2KP-001].

Additional settings are located in C:\Documents and Settings\All Users.

Konfigurowanie interpretatorów poleceń

Nieważne, jak funkcjonalny i wygodny wydaje się graficzny interfejs użytkownika systemu Windows 2000. Nieuchronnie nadejdzie czas, kiedy okaże się, że do wykonania rzeczywistej pracy potrzebny jest wiersz poleceń. W systemie Windows NT są dwa okna konsoli: 32-bitowej konsoli wykorzystującej CMD.EXE jako interpretator poleceń i konsoli 16-bitowej wykorzystującej COMMAND.COM jako interpretator. Konsola COMMAND.COM zapewnia środowisko pracy z poleceniami DOS 5.0 umożliwiającymi uruchamianie plików wykonywalnych i programów rezydentnych (TSR), które wymagają prawdziwego środowiska DOS.

Konsole CMD i COMMAND nie umożliwiają pracy w środowisku DOS w takim sensie, jak występuje to w systemie OS/2 w postaci procesu o nazwie „DOS box". Konsola CMD jest programem 32-bitowym i tworzy prawdziwe 32-bitowe środowisko pracy. Konsola COMMAND.COM pracuje w środowisku wirtualnego komputera DOS-owego (VDM), ale
w razie potrzeby bezkolizyjnie przechodzi do 32-bitowego interpretatora poleceń CMD. Uruchomienie z konsoli COMMAND na przykład polecenia DIR, spowoduje wyświetlenie na ekranie długich nazw plików (long filenames), a nie krótkich.

Konsole alternatywne

System Windows 2000 zawiera dwie rzadko używane konsole. Jedną dla standardu POSIX, drugą dla systemu OS/2. Obsługa standardu POSIX w systemie Windows NT spełnia wymagania rządowe, ale programy spoza systemu Windows, takie jak MKS Toolkit lub Reflections, zapewniają zazwyczaj bardziej wszechstronną obsługę Uniksa. Konsola systemu OS/2 obsługuje tylko aplikacje tekstowe wersji 1.1 i przez to jest straszliwie przestarzała. Obsługa systemu OS/2 przez Windows 2000 jest jak stara fotografia ślubna poniewierająca się w albumie długo po rozwodzie. Firma Microsoft nie chce pozbyć się jej, chociaż służy tylko do przywoływania przykrych wspomnień.

Uruchamianie wiersza poleceń za pomocą pozycji menu START\PROGRAMY\WIERSZ POLECEŃ (START\PROGRAMS\COMMAND PROMPT) w rzeczywistości powoduje uruchomienie 32-bitowej konsoli CMD. Można to sprawdzić otwierając Menedżera zadań (Task Manager) i wybierając zakładkę Processes (Procesy). CMD.EXE znajduje się na liście uruchomionych zadań. Jeśli w komputerze zainstalowano Resource Kit, można sprawdzić listę uruchomionych procesów za pomocą programu TLIST/t. Kiedy uruchamia się aplikację 16-bitową, system Windows 2000 najpierw uruchamia NTVDM.EXE, a następnie ładuje aplikację do środowiska wirtualnego komputera DOS-owego (VDM). Jeśli aplikacja 16-bitowa jest uruchamiana z konsoli CMD, 'NTVDM.EXE jest wątkiem (thread) CMD.

Możliwość uruchamiania w tle konsoli CMD przez konsolę COMMAND, umożliwia również uruchamianie 32-bitowych aplikacji graficznych. Na przykład otwórz konsolę COMMAND, uruchom SOL, a następnie sprawdź listę procesów uruchomionych za pomocą polecenia TLIST -t. Oto próbka:

Explorer.exe (130)

ntvdm.exe (179) C:\command.corn

cmd.exe (168)

soi.exe (177) Solitaire

Należy zwrócić uwagę, że w 32-bitowym środowisku wirtualnego komputera Dosowego (NTVDM) pracuje 16-bitowa sesja interpretatora COMMAND, która uruchamia interpretator CMD, zawierający z kolei wątek (thread) Solitaire. Chociaż program TLIST pokazuje te procesy i procesy potomne, jeśli proces NTVDM zostanie usunięty (kill), to konsola CMD i jej wątek (thread) SOL zostaną.

Użytkownicy systemu Windows 9x, którzy przywykli do uruchamiania konsoli COM­MAND za pomocą okna Run (Uruchom), powinni zamiast niej uruchomić CMD. Inter-pretator COMMAND.COM jest bardzo wolny w porównaniu z CMD. Nie powinno się uruchamiać konsoli COMMAND, o ile nie jest konieczny prawdziwy emulator DOS-a.

Nieobsługiwane wersje DOS-owe interpretatora poleceń COMMAND.COM

W przypadku komputera z systemem operacyjnym wybieranym przy starcie (dual-boot machinę), przy uruchamianiu konsoli C0MMAND.COM może pojawić się błąd. Dzieje się tak, ponieważ
w ścieżce przeszukiwania znajduje się starsza wersja C0MMAND.COM. Należy usunąć lub zmienić nazwę starej wersji.

Rozszerzony został zbiór poleceń interpretatora CMD w stosunku do systemu DOS 6.2
i DOS-a w systemie Windows 9x. Interpretator CMD obsługuje język plików wsadowych (batch language) podobny do języka plików wsadowych (batch language) systemu DOS, ale bogatszy i mający możliwości wywoływania aplikacji 32-bitowych. Tworząc pliki wsadowe (batch files) w systemie Windows 2000, należy nadać im rozszerzenie CMD, aby zagwarantować, że zostaną uruchomione w środowisku 32-bitowym.

CMD rozpoznaje rozszerzenia z listy rozszerzeń nazw plików, więc wystarczy wpisać tylko nazwę pliku danych z odpowiednim rozszerzeniem, aby uruchomić związaną z nim aplikację. Na przykład zarejestrowanym rozszerzeniem konsoli MMC jest .msc. Po wpisaniu dnsmgmt.msc interpretator poleceń uruchomi

Interpretator CMD może być również podany w skrótach (shortcuts) uruchamiających aplikacje w trybie znakowym. Pozwala to wykorzystać zalety parametrów (switches) polecenia CMD, modyfikujących przebieg sesji. Oto lista parametrów (switches):

echo %username%

echo !username!

A oto przebieg wykonywania skryptu:

C:\>test

C:\>echo admin

admin

C:\>echo !username!

admin

■ Rozwinięcie zmiennych środowiska (variable expansion) domyślnie jest zablokowane. Dodając poniższą wartość Rejestru, która ma typ danych RegDword do procesora poleceń (Command Processor), można aktywować rozwinięcie zmiennych środowiska (variable expansion) dla wszystkich sesji CMD:

Key: HKLM|Software|Microsoft|Command Processor

Value: DelayedExpansion
Data: 1 (typReg_Dword)

Automatyczne uzupełnianie ścieżki

System Windows 2000 i Windows NT można skonfigurować w ten sposób, by rozpoznawały znaki specjalne w wierszu poleceń i uzupełniały ścieżkę lub nazwę pliku. Domyślnie znakiem specjalnym jest kombinacja klawiszy Ctrl+I. Zamiast wpisywania CD \Dokumenty i ustawienia można wpisać CD Dok, a potem nacisnąć Ctrl+I, uzupełniając ścieżkę.

Jeśli wiele plików lub podkatalogów zaczyna się na te same litery, należy kilkakrotnie naciskać Ctrl+I, przechodząc do kolejnych nazw.

Uzupełnianie nazw kontrolowane jest przez wartość Rejestru HKLMISoftwarelMicrosoftlCommand ProcessorlCompletionChar, którą domyślnie jest 0x9h (Ctrl+I).

Wpisując polecenie CMD /F:0N znak uzupełniania nazw katalogów zmienia się na Ctrl+D (0x4h), a znak uzupełniania nazw plików na Ctrl+F[0x6h). Wtedy naciskanie Ctrl+D powoduje wyłącznie przechodzenie do kolejnych nazw katalogów, podczas gdy Ctrl+I rozpoznaje zarówno nazwy plików, jak i nazwy katalogów.

Domyślna wartość Rejestru CompletionChar może być zmieniona.

Key: HKCU|Software|Microsoft|Conmand Processor

Value: EnableExtensions

Data: 0

winmine && soi && pinball

Rozszerzenia poleceń wewnętrznych CMD

CMD posiada zestaw poleceń wewnętrznych systemu DOS, ale kilka z nich jest zmodyfikowanych lub rozszerzonych, aby uprościć pracę z wierszem poleceń i poprawić działanie plików wsadowych. Poniżej znajduje się lista najczęściej wykorzystywanych rozszerzeń poleceń CMD:

Set /A var3=varl+var2

Należy zwrócić uwagę, że wykorzystując parametr /A nie trzeba wpisywać zmiennych środowiskowych w postaci $VARU i %VAR2%.

Jeśli w ścieżce dostępu znajdą się spacje pomiędzy nazwami katalogów, to rozszerzenia MD zinterpretują to jako nazwy oddzielnych katalogów. Na przykład polecenie md C:\First Ouater ResuHs powoduje utworzenie trzech katalogów w katalogu głównym na dysku C:

C:\First

C:\Quater

C:\Results

FOR /R. Działanie podane w instrukcji DO dotyczy katalogu zapisanego w wyrażeniu FOR. Jeśli katalog zawiera podkatalogi, to instrukcja DO przechodzi do każdego podkatalogu. Na przykład do wyświetlenia listy plików z rozszerzeniem TXT zapisanych w katalogu MYFILES i jego podkatalogach służy polecenie FOR /R c:\my_files %1 IN (*.TXT) DO @echo %1.

eol= Wprowadź specjalny znacznik końca wiersza (end-of-line). Odczytując standardowy plik tekstowy ASCII ze znacznikami końca wiersza systemu DOS, można opuścić
tę pozycję.

skip= Podaj liczbę początkowych wierszy, które mająbyć pominięte. Odczytując na przykład plik z czterowierszowym nagłówkiem, można zacząć czytanie pliku od wiersza numer 5 podając opcję „skip=4".

delims= Podaj znak, który jest ogranicznikiem poszczególnych słów (tokens) w wierszu. Jeśli w pliku jako ogranicznik występuje znak przecinka, opcja ma postać delims=,.

token= Określa, których słów (tokens) dotyczy instrukcja FOR IV. Jeśli na przykład
w wierszu jest 5 pozycji, a operacja ma dotyczyć tylko drugiego i czwartego, należy wprowadzić opcję w postaci „token=2,4".

Poniżej zamieszczono przykład wykorzystania polecenia FOR /F. Mamy plik TEST.FOR w postaci:

One. two. three. four

Four, five. six. seven. eight. nine

Wprowadzając polecenie w postaci:

FOR /F "tokens-1.3-4 delims-." %1 IN (testfor.txt) DO @echo %1 %j %k

Otrzymamy w wyniku:

One three four

Five seven eight nine

Opcje specjalne rozszerzeń zmiennych wsadowych (batch variable expansion).
W przypadku pliku wsadowego (batch file), na przykład test.cmd, który zawiera polecenia wykorzystujące zmienne plików wsadowych (batch file variable) takich jak %1, %2 itd., CMD umożliwia stosowanie specjalnych parametrów modyfikujących. Oto lista tych parametrów:

%1 — standardowa obsługa zmiennej.

%~fl —podaje pełną nazwę ścieżki dostępu zmiennej %1.

%~dl — podaje symbol (literę) dysku zmiennej %1.

%~pl —podaje ścieżkę zmiennej %1.

%~ nl — podaje nazwę pliku zmiennej %1.

%~ xl — podaje rozszerzenie pliku zmiennej %1.

%~ sl — zmienia opcję n i x, podając nazwę pliku w postaci 8.3 zamiast nazwy długiej.

%~$PATH: 1 — przeszukuje katalogi podane jako parametr PATH, dopóki nie znajdzie pozycji dotyczącej %l. Następnie wartością tego parametru zostanie ścieżka dostępu do zmiennej %1. Jest to przydatne przy uruchamianiu pliku wsadowego w innym katalogu niż argument. Jeśli plik nie zostanie znaleziony, parametr ten zawiera łańcuch pusty.

Rozszerzenie poleceń zewnętrznych CMD

Większość poleceń zewnętrznych w Windows 2000 jest podobnych do swoich odpo
wiedników w sys
temie DOS. Poniższe polecenia nie są opisane gdzie indziej, a mogą
okazać się przydatne.

PUSHD C:\Presidents\18thCentury\Whigs : :Zmiana katalogu

POPD

:Powrót do katalogu pierwotnego

Wydając kilka poleceń PUSHD z rzędu można umieścić na stosie kilka katalogów. Każde następne polecenie POPD zwalnia jedno miejsce na stosie, dopóki nie nastąpi powrót do katalogu początkowego.

C:\New_Directory+++>.

Kojarzenie plików

Za pomocą poleceń ASSOC i FTYPE można tworzyć skojarzenia dla rozszerzeń nazw plików.

Poniżej zamieszczono przykład wykorzystania tych poleceń. Aby automatycznie rozpakowywać (unzipping) pliki podczas przeszukiwania zasobów Internetu, za pomocą programu PKUNZIP.EXE po dwukrotnym kliknięciu nazwy pliku z rozszerzeniem ZIP należy wpisać polecenia w następującej postaci:

ftype zipfile=c:\zip\pkunzip.exe assoc=.zip=zipfile

Kolor w trybie tekstowym

Niektóre aplikacje znakowe zmieniają tryb znakowy na tryb graficzny i w takim przypadku ustawienia polecenia COLOR nie mają znaczenia. Polecenie COLOR przyjmuje jednobajtowe argumenty określające kolorystykę. Bajt jest dzielony na dwie cyfry szesnastkowe. Pierwsza
z nich określa kolor tła, a druga kolor tekstu. Na przykład COLOR 47 oznacza czerwone tło
i biały tekst. Dostępną paletę kolorów przedstawia tabela 16.2.

Tabela 16.2.

Oznaczenia szesnastkowe kolorów

Kolor

Oznaczenie szesnastkowe

Czarny (Black)

0

Niebieski (Blue)

1

Zielony (Green)

2

Akwamaryna (Aqua)

3

Czerwony (Red)

4

Żółty (Yellow)

6

Biały (White)

7

Szary (Gray)

8

Jasnoniebieski (Light Blue)

9

Jasnozielony (Light Green)

A

Jasna akwamaryna (Light Aqua)

B

Jasnoczerwony (Light Red)

C

Jasnopurpurowy (Light Purple)

D

Jasnożółty (Light Yellow)

E

Jaskrawobiały (Bright White)

F

Polecenie START

Polecenie START jest jednym z najbardziej przydatnych poleceń zewnętrznych, więc poświęcenie mu szczególnej uwagi jest usprawiedliwione. Za pomocą tego polecenia można konfigurować pamięć współdzieloną (shared memory), przydzielać aplikacjom priorytety itp. Pracuje poprawnie dla dowolnego programu. Poniżej przedstawiono listę parametrów polecenia START i ich zastosowanie:

Rozszerzenia polecenia START umożliwiają określenie nazwy katalogu zamiast programu lub pliku wykonywalnego. Na przykład polecenie w postaci start daje w wyniku okno My Computer (Mój komputer) przedstawiające zawartość katalogu macierzystego.

Przykłady zastosowania poleceń powłoki w skryptach

Zarządzanie kontami użytkowników z wiersza poleceń

Konta użytkowników pozwalają użytkownikom na uzyskanie dostępu do domeny oraz zasobów lokalnego systemu za pomocą aktualnej nazwy użytkownika i hasła. Chociaż zarządzanie kontami użytkowników odbywa się zwykle poprzez narzędzia administracyjne systemu operacyjnego, w przypadku obsługi zdalnych systemów oraz konieczności wprowadzenia wielu modyfikacji, wykonywanie skryptów zarządzania kontami poprzez wiersz poleceń jest znacząco szybsze.

Zarządzania kontami użytkowników za pomocą polecenia NET

Jednym z najrzadziej używanych narzędzi wiersza poleceń do zarządzania kontami użytkowników jest polecenie NET. Podstawowa składnia polecenia NET, pozwalająca na zarządzanie kontami użytkowników, to:

NET USER NAZWA_UŻYTKOWNIKA HASŁO /polecenia

nazwa_użytkownika jest tutaj kontem użytkownika, które ma być zarządzane, hasło to albo hasło konta albo gwiazdka (*), oznaczająca zapytanie o hasło, a dostępne polece­nia to:

Oto przykład pokazujący sposób dodania konta za pomocą polecenia NET:

NET USER "Tyler" TEMPPASSWORD /ADD /COMMENT :"Konto projektu"

/ACTIVE: NO /EXPIRES:12/31/03 /FULLNAME: "Tyler Durden"

/HOMEDIR:C:\ /PASSWORDCHG:NO /PASSWORDREQ:YES /PROFILEPATH:C:\PROFILES\TD

/USERCOMMENT: "Sponsor korporacyjny" /WORKSTATIONS:STATION1 /SCRIPTPATH:GDZIES\TAM

TIMES:M0NDAY-THURSDAY.8AM-5PM

Zarządzanie grupami z wiersza poleceń

Grupy udostępniają administratorom metodę organizacji i przydzielania przywilejów dla kont użytkowników. Grupy są również przydatne przy identyfikacji zbioru użytkowników
z podobnymi parametrami (na przykład pracownicy tymczasowi). W celu
automatyzacji codziennych zadań można utworzyć skrypty zarządzania grupami.

Zarządzanie grupami za pomocą polecenia NET

Wbudowane polecenie NET.EXE pozwala na zarządzanie grupami lokalnymi i globalnymi
z wiersza poleceń. Podstawowa składnia polecenia
NET do zarządzania zdalnymi grupami to:

NET typ nazwa polecenia

typ oznacza tutaj słowo kluczowe GROUP dla zarządzania grupami globalnymi lub LO-CALGROUP dla grup lokalnych, nazwa to grupa do zarządzania, a dostępne polecenia to:

Wysyłanie alarmów za pomocą skryptów powłoki

Skrypty powłoki nie oferują żadnej metody wysyłania alarmów. Microsoft Windows posiada narzędzie NET.EXE, które pozwala na wysyłanie wiadomości do użytkowników
i komputerów w sieci.

Wysyłanie alarmów do pojedynczego użytkownika lub komputera

Aby wysłać wiadomość poprzez sieć, przejdź do znaku zachęty i wprowadź następujące polecenie:

NET SEND nazwa komunikat

Maksymalna długość komunikatu NetBIOS to wielkość 128 znaków.

komunikat oznacza tutaj wiadomość do wysłania, a nazwa to nazwa NetBIOS komputera lub identyfikator użytkownika.

Wysyłanie alarmów do wielu użytkowników lub komputerów

W celu wysłania wiadomości do wszystkich komputerów w sieci lokalnej możesz także użyć znaku gwiazdki (*).

Net Send * komunikat

Tutaj komunikat to wiadomość do wysłania. Zamiast podania nazwy lub wprowadzenia gwiazdki możesz skorzystać z jednego z poniższych poleceń w celu wysłania wiadomo­ści do wielu użytkowników lub komputerów:

Oto przykład, pokazujący sposób wysłania komunikatu do domeny JESSEWEB:

Net Send /DOMAIN:JESSEWEB komunikat

Wysłanie wiadomości do całej sieci lub domeny spowoduje nie tylko zajęcie dużej części pasma sieci, ale rozzłości wszystkich innych użytkowników.

Wysyłanie alarmów do wybranych użytkowników i komputerów

Chociaż polecenie Net Send zawiera metody wysyłania komunikatów do wielu użytkowników, nie umożliwia jednak wysyłania wiadomości do konkretnej grupy użytkowników lub komputerów. Aby wysiać alarm do konkretnych użytkowników za pomocą skryptów powłoki, wykonaj następujące czynności:

  1. Utwórz nowy katalog dla wszystkich plików, które są wykorzystywane
    w tym przykładzie.

  2. Wybierz Start\Uruchom i wprowadźplik_skryptowy.bat.

plik_skryptowy oznacza tutaj pełną ścieżkę i nazwę pliku skryptowego, który zawiera poniższe polecenia:

@ECHO OFF

For /F %%N In (plik _tekstowy) Do ( Echo Wysyłanie wiadomości
%%N… & Net Send %%N Komunikat

Wyróżniony kod musi znaleźć się w jednej linii.

plik_tekstowy to nazwa pliku tekstowego, którego poszczególne linie zawierają nazwę użytkownika lub komputera, a komunikat to wiadomość do wysłania.

Tworzenie skryptów logowania ze skryptami powłoki

Skrypty powłoki są poprzednikiem skryptów logowania Windows. Chociaż może brakować im niektórych bardziej zaawansowanych funkcji innych języków skryptowych, ich główną zaletą jest kompatybilność. W przeciwieństwie do KiXtarta czy Windows Script Hosta, działanie skryptów powłoki nie wymaga zainstalowania żadnego klienta (oczywiście poza systemem operacyjnym). Skrypty powłoki udostępniają skryptom lo­gowania proste i łatwe do zastosowania rozwiązania.

Ustawianie tytułu okna

Systemy Windows NT i 2000 obsługują polecenie title, które umożliwiają zmianę tytułu okna zapytania. Podstawowa składnia polecenia title wygląda w następujący sposób:

title tytuł

tytuł oznacza tutaj nazwę, jaką chcesz przydzielić dla aktualnego okna zapytania. Oto przykład pokazujący zmianę tytułu okna zapytania na „Skrypt logowania":

If "%OS%”—"Windows_NT" Title Skrypt logowania

%OS% to zmienna środowiska, która informuje o typie systemu operacyjnego.

Zmiana koloru pierwszego planu i tła

Systemy Windows NT i 2000 obsługują polecenie color, które umożliwia zmianę koloru pierwszego planu i tła w oknie zapytania powłoki. Podstawowa składnia polecenia color wygląda w następujący sposób:

COLOR BF

B to wartość koloru tła, a F to wartość koloru pierwszego planu. Polecenie color wykorzystuje następujące wartości kolorów:

Oto przykład zmiany kolorów w oknie zapytania; jako efekt zmian na niebieskim tle pojawi się śnieżnobiały tekst:

IF "%0S%—"Windows_NTM COLOR IF

%0S% to zmienna środowiska, która informuje o typie systemu operacyjnego.

Synchronizacja lokalnego czasu systemowego

Synchronizacja lokalnego systemu z centralnym źródłem czasu pozwala na jednoczesne wykonywanie kilku zadań w całej organizacji. Podstawowa składnia polecenia synchronizującego lokalny zegar z podanym źródłem czasu wygląda w następujący sposób:

Net Time Wserwer /polecenia

serwer oznacza tutaj nazwę serwera źródła czasu, z którym należy dokonać synchronizacji. Ten parametr jest wymagany tylko w przypadku synchronizacji z konkretnym serwerem. Jeśli parametr zostanie pominięty, w poszukiwaniu serwera źródła czasu system przeszuka lokalną domenę. Dostępne polecenia to:

Przedstawiony poniżej skrypt dokonuje próby synchronizacji lokalnego czasu systemu
z serwerem o nazwie nazwa_serwera. Jeśli proces ten się nie powiedzie, w celu znalezienia źródła czasu przeszukana zostanie domena. Aby to umożliwić, wykonaj następujące czynności:

  1. Utwórz nowy katalog dla wszystkich plików, które są wykorzystywane w tym przykładzie.

  2. Wybierz Start / Uruchom i wprowadź p1ik_skryptowy.bat.

Plik_jskryptowy oznacza tutaj pełną ścieżkę i nazwę pliku skryptowego, który zawiera
poniższe polecenia:

@Echo Off

CLS ; Oczyszcza ekran

Set TServer=nazwa_ serwera

Echo Synchronizacja czasu z %TServer%... Net Time \\XTServerX /set /yes If %errorlevel% NEQ 0 CLS && Goto Domain CLS && Echo Synchronizacja powiodła sie Goto End

:Domain

Echo Wyszukiwanie serwera czasu w lokalnej domenie...

Net Time /set /yes

If %errorlevel% EQU 0 CLS && Echo Synchronizacja powiodła sie && Goto End

CLS && Blad synchronizacji z serwerem czasu

:End

tserver to zmienna, która zawiera nazwę serwera źródła czasu, NEQ to operator „nie jest równy", a && pozwala na wykonanie kolejnej komendy (po zakończeniu poprzedniej).

Mapowanie wspólnych dysków

Wykonanie mapowania wspólnych dysków dla wszystkich użytkowników pozwala na utworzenie centralnej lokalizacji dla aplikacji i danych. Z rozdziału 7. dowiedziałeś się, jak odzwierciedlić dyski sieciowe poprzez Windows i znak zachęty. Aby dokonać ma­powania dysku sieciowego i wyświetlić jego status poprzez wiersz poleceń, wykonaj następujące czynności:

  1. Utwórz nowy katalog dla wszystkich plików, które są wykorzystywane w tym przykładzie.

  2. Wybierz Start /\ Uruchom i wprowadź p1ik_skryptowy.bat.

pl1k_skryptowy oznacza tutaj pełną ścieżkę i nazwę pliku skryptowego, który zawiera poniższe polecenia:

@Echo Off

CLS : Oczyszcza ekran

Set Dysk=Litera_dysku

Set Share=\\serwer\nazwa_elementu

Echo Mapowanie dysku %Dysk% do %Share%

Net Use %Dysk%: /Delete && CLS

Net Use %Dysk%: %Share%

If %errorlevel% EQU 0 CLS && Echo Mapowanie powiodło sie && Goto End

CLS && Blad mapowania dysku %Dysk% do %Share%

:End

litera_dysku to litera dysku, do której mapowany jest element współużytkowany,
a serwer zawiera nazwę_elementu, którą chcesz mapować.

Mapowanie dysków według grupy

Mapowanie dysków według członkostwa w grupie pozwala na kontrolowanie dostępności napędów i zasobów dla poszczególnych użytkowników. Narzędzie z pakietu Resource Kit
o nazwie IfMember pozwala ustalić członkostwo użytkownika w grupie poprzez
wiersz poleceń. Podstawowa składnia narzędzia IfMember wygląda w następujący sposób:

IfMember /Polecenia Grupy

grupy to dowolne grupy, których członkostwo chcesz sprawdzić, są one oddzielone spacjami. Poziom błędu errorlevel równy / wskazuje, że użytkownik jest członkiem podanej grupy. Dostępne polecenia to:

Aby poprzez znak zachęty dokonać mapowania dysku sieciowego zgodnie z członkostwem
w grupie oraz aby wyświetlić status, wykonaj następujące czynności:

  1. Utwórz nowy katalog dla wszystkich plików, które są wykorzystywane w tym przykładzie.

  2. Wybierz Start\Uruchom i wprowadź plik_skryptowy.bat.

p1ik_skryptowy oznacza tutaj pełną ścieżkę i nazwę pliku skryptowego, który zawiera poniższe polecenia:

@Echo Off

CLS ; Oczyszcza ekran

Pełna_ścieżka\lfMember Nazwa_grupy > Nul

If Not %errorlevel% EQU 1 Goto End

Set Dysk=Litera_dysku

Set Share=\\serwer\nazwa_elementu

Echo Mapowanie dysku %Dysk% do %Share%

Net Use %Dysk%: /Delete && CLS

Net Use %Dysk%: %Share%

If %errorlevel% EQU 0 CLS && Echo Mapowanie powiodło sie && Goto End

CLS && Blad mapowania dysku %Dysk% do %Share%

:End

pełna_ścieżka to kompletna ścieżka katalogu, w którym znajduje się IfMember, nazwa _grupy to nazwa grupy, której członkostwo należy sprawdzić, litera_dysku to litera dysku, do której mapowany jest element współużytkowany, NEQ to operator „nie jest równy", EQU to operator ,jest równy", serwer zawiera nazwę_elementu, którą chcesz mapować, a && pozwala na wykonanie kolejnej komendy po zakończeniu poprzedniej.

Wyświetlanie pozdrowień zależnych od pory dnia

Chociaż nie jest to wymagane, wielu administratorów lubi wyświetlać użytkownikowi pozdrowienie zależne od pory dnia. Aby tego dokonać poprzez wiersz poleceń, wykonaj następujące czynności:

  1. Utwórz nowy katalog dla wszystkich plików, które są wykorzystywane w tym przykładzie.

  2. Wybierz StarĄUruchom i wprowadźplik_skryptwy.bat.

plikjskryptowy oznacza, tutaj pełną ścieżkę i nazwę pliku skryptowego, który zawiera poniższe polecenia:

@Echo Off

CLS

For /F "Delims=: Tokens-1" %%I in ('Time /T') Do Set Godz=%%1

For /F "Del1ms=: Tokens-2" %%I in ('Time /T') Do Set Min=%%1

For /F "Delims-0.1.2.3.4,5.6.7,8,9 Tokens=2" %%I in
('Set Min') Do Set AP=%%I

If %AP% EQU p Goto PM

Set Powitanie=Dzien dobry

Goto End

:PM

If %Godz% EQU 12 Set Godz=0

If %Godz% LSS 12 Set Powitanie=Dobry wieczór

If %Godzt LSS 6 Set Powitanie=Miłego popołudnia

:End

Echo %Powitanie%

Set Godz=

Set Min=

Set AP=

Wyróżniony kod musi znaleźć się w jednej linii.

Polecenie Time /T nakazuje użycie lokalnego czasu systemowego.



Wyszukiwarka

Podobne podstrony:
kurs linuks skrypty powłoki XI7JMBJT7NLBOY3XHJGJNBTZSPVIAZCOZPOZTMQ
14 skrypty powłoki IIid 15551 ppt
cały materiał-skrypt, BROSCH
13 Linux Skrypty powłokiid 14707 ppt
2006 10 Skrypty powłoki w systemie Linux [Poczatkujacy]
09 Linux Skrypty powłoki część II
prawo administracyjne materialne- skrypt, STUDIA-Administracja, 3 semestr, prawo administracyjne
Skrypty powloki systemu Linux Receptury
Programowanie skryptow powloki powlok 2
Skrypty powloki systemu Linux Receptury sposyl
Skrypty powloki systemu Linux Receptury 2
Skrypty powłoki Od podstaw
informatyka skrypty powloki systemu linux receptury sarath lakshman ebook
Skrypty powloki systemu Linux Receptury
Programowanie skryptow powloki
Skrypty powloki Od podstaw
Skrypty powloki Od podstaw skrypo
Programowanie skryptow powloki powlok
Skrypty powloki systemu Linux Receptury sposyl

więcej podobnych podstron