You are on page 1of 7

Systemy operacyjne

Prowadzący laboratoria:
mgr inż. Marcin ZAJDOWSKI
marcin.zajdowski@wsb.poznan.pl

Temat: Konsola Windows - skrypty

Cel: uczyć tworzenia plików wsadowych, przyśpieszających czynności


administratora systemu

Zagadnienia:

− Przekierowania, potoki, more,


− Zmienne środowiskowe,
− Pętle,
− Interakcja z użytkownikiem skryptu,
− Skrypt: Menu z 4 programami,
− Skrypt: Zarządzanie kontami użytkowników, grupami, katalogami.
Literatura:

− Konsola:
o Microsoft. Windows 7. Księga eksperta. Wydawnictwo Helion.
Rozdział 13.
o http://commandwindows.com/
o https://ss64.com/nt/
− Info o zmiennych środowiskowych:
o http://traxter-online.net/zmienne-srodowiskowe-windows-
domyslne-wartosci-przenoszenie/

Wynik (etapy ćwiczenia) wymaga zrobienia zrzutów ekranowych do sprawozdania


Program CMD.EXE to konsola, która umożliwia wykonywanie podstawowych i
zaawansowanych czynności w systemie Windows, nie za pomocą GUI
(graficznego interfejsu użytkownika) ale za pomocą poleceń wprowadzanych do
konsoli, z odpowiednimi wartościami i atrybutami. Wiele czynności można zrobić
szybciej, a tworząc skrypty - pliki z rozszerzeniem .bat - zadania można
zautomatyzować i wykonywać również na komputerach, do których nie mamy
bezpośredniego dostępu.

Przekierowania czyli > < >> << :


1) Ćw
> Wynik działania polecenia przekierowany z ekranu do innego urządzenia (np. pliku)
przykład: dir>a.txt
< parametry wywołania polecenia czytane z pliku
>> Wynik działania polecenia dopisany do końca istniejącego pliku
przykład: dir>>a.txt
| Wyjście pierwszego polecenia przekazywane na wejście drugiego polecenia
przykład: dir|more

2) Ćw. Spakuj plik a.txt do z.zip


przykład: C:\Users\User\Desktop>zip z.zip a.txt (w przykładzie program zip jest na Pulpicie)

w razie potrzeby pobierz program ZIP dla cmd: http://stahlworks.com/dev/?tool=zipunzip


1) Ćw. Za pomocą systeminfo pozyskaj dane konfiguracyjne SO i zapisz w pliku systeminfo.csv
Systeminfo /fo csv > %userprofile%\systeminfo.csv

%userprofile% to zmienna środowiskowa -> C:\Users{username}

Odszukaj i zapoznaj się z :plik systeminfo.csv

Ale uwaga. Jeżeli plik systeminfo.csv istnieje jego zawartość zostanie zastąpiona ☹

Aby uniknąć związanych z tym komplikacji użyj operatora dopisania >>

2) Ćw. Wprowadź do pliku chkdsk.txt wyniki spr:


− dysku D z dowolnym atrybutem,
− D z atrybutem wyszukiwania uszkodzonych sektorów i odzyskiwaniem informacji:

Przekierowanie + more:

W razie potrzeby wykonaj co najmniej raz:

Systeminfo /fo csv > %userprofile%\systeminfo.csv

A następnie z < :

More < %userprofile%\systeminfo.csv

A teraz z > :

More > %userprofile%\systeminfo.csv

Spr plik systeminfo.csv ☺

---

Przetwarzanie potokowe polega na skierowaniu strumienia danych wyjściowych jednego polecenia


do pliku tymczasowego , z którego są one pobierane jako dane wejściowe dla innego polecenia:
polecenie1 | polecenie2.

Systeminfo | more =

Polecenia stosowane w przetwarzaniu potokowym :


• more wyświetla kolejno pojedyncze strony zawartości pliku lub danych wyjściowych polecenia.
• find wyszukuje w plikach i danych wyjściowych poleceń znaki określone przez użytkownika.
• sort sortuje zawartość plików lub danych wyjściowych poleceń.
---
Główną zaletą pracy w trybie wsadowym jest możliwość zebrania kilku poleceń w jednym pliku i
nakazanie wykonania ich poprzez podanie nazwy pliku wsadowego.

Tworzenie plików wsadowych

3) Ćw. Stwórz plik czysctemp.bat, który w katalogu domowym użytkownika marcin usunie
niepusty folder śmietnik.

@ nie wyświetla polecenia na ekran


zamiast marcin wpisz swoją nazwę konta

Wprowadzanie informacji do pliku


4) Ćw. Stwórz plik parametry.bat

@ECHO OFF - system nie wyświetla poleceń przed ich wykonaniem


ECHO. - wstawia pustą linię (zwiększa czytelność na ekranie)
ECHO 1 z parametrow to %1
ECHO 2 z parametrow to %2
ECHO 3 z parametrow to ”%3”

Teraz w wierszu polecenia wpisz :


parametry Za górami „, za lasami …”

”%3” – ciąg znaków ze spacją


The percent sign is used in batch files to represent command line parameters: %1, %2, ...

5) Ćw. Program pobiera dane wprowadzone przez użytkownika i wypisuje je na ekranie:

Cls Clear the screen.


The percent sign is used in batch files to represent command line parameters: %1, %2, ...
Two percent signs with any characters in between them are interpreted as a variable:
echo %myvar%
Two percent signs without anything in between (in a batch file) are treated like a single percent sign
in a command (not a batch file): %%f

6) Ćw. Przykładowe Menu uruchamiające 4 wybrane programy:

Echo OFF Only display the command output on screen (not each line)
SET /P variable=[promptString]
Cls Clear the screen.
GOTO label A predefined label in the batch program.
:label label/etykieta
7) Ćw. Interakcja z użytkownikiem – stwórz skrypt, który pyta o nazwę katalogu:

8) Ćw. Stwórz skrypt, który szuka plików w określonej lokalizacji i o określonym rozszerzeniu i
kopiuje je do wskazanej lokalizacji:
W ćwiczeniu zastosowano pętlę for: https://ss64.com/nt/for_f.html

9) Ćw. Stwórz skrypt w którym zastosujesz przetwarzanie potokowe z poleceniami: more, find i
sort

10) A teraz zadanie, które pokazuje w pełni przewagę operacji w konsoli nad GUI (bo zyskujemy
czas):
a. Utwórz grupę studenci;
b. Stwórz 20 kont użytkowników o nazwie: student1, student2,…,student20 oraz
hasłami: hasło1, …, hasło20;
c. Dodaj te 20 kont do grupy studenci;
d. W katalogu studenci stwórz katalog dla każdego użytkownika o nazwie jakie ma jego
konto: student1, …, student20;
e. Usuń domyślnie odziedziczone ustawienia ACL (użyj inheritance) dla folderów
student1, …, student20;
f. Nadaj każdemu studentowi pełne uprawnienia do swojego katalogu (czyli użytkownik
student1 ma pełne uprawnienia do katalogu student1 itd.) :

You might also like