mgr inż. Wacław Libront * Bobowa 2020

ZSO Bobowa, ul. Długoszowskich 1, 38-350 Bobowa, tel: 0183530220, fax: 0183530221, email: sekretariat@zsobobowa.eu, www: zsobobowa.eu

Lekcja 04

CMD - Pliki wsadowe - podstawowe polecenia

  1. Wstęp
  2. Podstawowe polecenia
  3. Przykłady
  4. Ćwiczenia

Wstęp

Plikiem wsadowym (skryptem) nazywamy zbiór poleceń zawartych w pliku tekstowym do wielokrotnego wykorzystania. Skrypty uruchamiamy w taki sam sposób jak programy wykonywalne. Po uruchomieniu skryptu, wykonywane są w nim polecenia, jedno po drugim, w takiej samej kolejności w jakiej zostały zapisane.
Pliki wsadowe mają rozszerzenie .bat
W plikach wsadowych mogą być używane wszystkie polecenia, które działają w wierszu poleceń.
Działanie pliku wsadowego można przerwać kombinacją klawiszy CTRL+PAUSE lub CTRL+C.


Podstawowe polecenia

Polecenie ECHO

ECHO tekst
wyświetla na ekranie napis „tekst”
ECHO OFF
nie będą pokazywane polecenia, a jedynie wyniki poleceń
@ECHO OFF
nie wyświetla również samego wywołania polecenia
ECHO ON
wyświetla komendy i wyniki działań

Polecenie REM
Za tym poleceniem możemy wstawiać komentarze

Polecenie PAUSE
Program zostaje zatrzymany do momentu naciśnięcia dowolnego klawisza - wyświetlany jest napis „Press any key to continue…”
PAUSE >> NUL
nie jest wyświetlany żaden napis

Polecenie CALL
Z pliku wsadowego możemy wywołać inny plik wsadowy

Polecenie START
Z pliku wsadowego możemy wywołać inny program, np. kalkulator

Polecenie GOTO
Polecenie wykonuje skok do etykiety oznaczonej przez dwukropek, np. :ETYKIETA

Polecenie EXIT
Polecenie kończy wykonywanie pliku wsadowego

Polecenie IF
Instrukcja warunkowa - jeżeli warunek spełniony, to wykonywana jest instrukcja
IF EXIST test.bat GOTO WYKONAJ
Jeżeli istnieje plik test.bat, to skocz do etykiety :WYKONAJ
IF NOT EXIST test.bat GOTO KONIEC
Jeżeli nie istnieje plik test.bat, to skocz do etykiety :KONIEC
IF ERRORLEVEL numer polecenie
Jeśli wystąpił błąd o numerze NUMER, to wykonaj polecenie


Przykłady

PIERWSZY
Plik TEST.BAT zawiera polecenia
@ECHO off
REM pierwszy test plików wsadowych
ECHO wynik pierwszego testu
PAUSE

Uruchomienie polecenie TEST.BAT spowoduje wyświetlenie napisu „wynik pierwszego testu”, a pod nim napisu: „Press any key to continue…”

WSADOWY DIR
Plik TEST1.BAT zawiera polecenia
@ECHO off
DIR /b *.bat
PAUSE >> null

Uruchomienie polecenie TEST1.BAT spowoduje wyświetlenie wszystkich plików wsadowych w bieżącym folderze

PODAJ IMIĘ
Plik TEST2.BAT zawiera polecenia
@OCHO OFF
ECHO Jak masz na imię?
SET /p imie=
ECHO Witaj %imie%
PAUSE

Program wsadowy wyświetli pytanie o twoje imię, a następnie wyświetli komunikat „Witaj ___”

CZY ISTNIEJE
Plik TEST3.BAT zawiera polecenia
IF EXIST baba.zar GOTO 1
IF NOT EXIST baba.zar GOTO 2
:1
TYPE baba.zar
PAUSE >nul
EXIT
:2
ECHO Nie znaleziono pliku.
PAUSE >nul
EXIT

Jeżeli w bieżącym folderze znajduje się plik baba.zar zostanie wyświetlony, w przeciwnym wypadku zostanie wyświetlony napis „Nie znaleziono pliku”. Po naciśnięciu dowolnego klawisza program kończy działanie.

MENU
Plik MENU.BAT zawiera polecenia
@echo off
:menu
cls
echo STRONY INTERNETOWE
echo [0] - koniec
echo [1] - kalkulator
echo [2] - ZST Gorlice

set /p odp=Wybierz:
if %odp%==0 exit
if %odp%==1 start calc.exe
if %odp%==2 start msedge.exe http://zstgorlice.pl

goto menu

Wyświetlane jest menu w postaci 4 wierszy.
Program oczekuje na wciśnięcie jakiegoś klawisza - polecenie SET /p.
Jeśli naciśnięto klawisz 0, to program jest kończony.
Jeśli naciśnięto klawisz 1, to uruchamiany jest notatnik.
Jeśli naciśnięto klawisz 2, uruchamiana jest przeglądarka ze stroną zstgorlice.pl
Program zostaje zapętlony i wracamy do początkowego menu

MENU
Inna wersja obsługi menu MENU1.BAT
@echo off

REM wyświetlanie menu
:menu
cls
echo MENU
echo [0] - koniec
echo [1] - kalkulator
echo [2] - ZSO Bobowa

REM oczekiwanie na naciśnięcie klawisza
REM wynik przypisywany do zmiennej ODP
set /p ODP="wybierz:"
rem echo %odp%

REM skok do odpowiedniej cęści programu
if %ODP%==0 goto koniec
if %ODP%==1 goto kalk
if %ODP%==2 goto zso

REM uruchomienie kalkulatora
:kalk
start calc.exe
goto menu

REM uruchomienie strony WWW
:zso
start msedge.exe http://zsobobowa.eu
goto menu

REM koniec działania programu wsadowego
:koniec
exit

Wersja jest wygodniejsza, jeśli każdy wybór z menu musi wywołać kilka pojedynczych instrukcji

KOPIOWANIE
Plik KOPIUJ.BAT zawiera polecenia
@ECHO OFF
SET A="%USERPROFILE%"
SET Z="G:\PROFIL"
CLS
ECHO "... KOPIOWANIE..."
XCOPY %A% %Z% /E /C /R /Y /D
SHUTDOWN.EXE /h

Zmienna A zawiera ścieżkę do profilu użytkownika.
Zmienna Z zawiera ścieżkę do kopii profilu, np. na dysku USB.
Polecenie XCOPY kopiuje wszystkie pliki wraz z podfolderami na dysk USB.
Po skopiowaniu komputer jest hibernowany.

WYBIERZ
Plik KONIEC.BAT zawiera polecenia
@echo off
:menu
cls
ECHO KONIEC? (T/N):
CHOICE /C tn
IF errorlevel 2 goto menu
IF errorlevel 1 break

Jeżeli naciśnięto klawisz t, kończymy działanie pliku wsadowego.
Jeżeli naciśnięty klawisz n, wyświetlamy menu.
Każdy inny klawisz generuje krótki sygnał dźwiękowy.

PETLA
@ECHO OFF
CLS
REM deklarujemy na początku licznik
SET x=0

:petla
REM instrukcje w pętli
ECHO %x% Ala ma kota

REM zwiększamy licznik i jeden
SET /a x=x+1

REM sprawdzamy kiedy koniec pętli
IF %x%==10 GOTO koniec
GOTO petla

:koniec

Deklarujemy licznik i zwiększamy go za każdym razem o jeden.
Sprawdzamy licznik i kończymy program gdy 10.
Jeśli nie 10 to powrót do początku.

KOPIA PULPITU
Skopiować pliki z pulpitu (%userprofile%\pulpit) na dysk Z
SET A="%USERPROFILE%\Pulpit"
SET Z=”z:\”
xcopy %A% %Z% /E /C /R /Y


Ćwiczenia

REKURENCJA
Utwórz plik wsadowy, który będzie działał według następującego schematu:
- utworzy folder
- przekopiuje sam siebie, tzn. plik wsadowy do utworzonego foldera
- wejdzie do utworzonego foldera

ROZMIAR
Utwórz plik wsadowy, za pomocą którego będziemy mogli sprawdzić rozmiar bieżącego foldera i podrzędnych. Skorzystaj z polecenia DIR, które wyświetla tylko pliki, a następnie wyszukaj wszystkie wiersze z tekstem "File(s)"

OBRAZKI
Utwórz plik wsadowy, który utworzy plik tekstowy z nazwami wszystkich obrazków (JPG, PNG, BMP, GIF itp) na pulpicie.

USUWANIE
Utwórz plik wsadowy, który usunie wybrany folder wraz z całą zawartością bez pytania o pozwolenie.

TWORZENIE
Utwórz plik wsadowy, który spyta o Twoje nazwisko i utworzy folder z wpisaną nazwą. Jeżeli folder już istnieje wyświetl odpowiedni komunikat.

PLIKI
Utwórz plik wsadowy, który tworzy pliki tekstowe i działa według następującego schematu:
- z klawiatury wpisujemy nazwę pliku do zmiennej
- z klawiatury wpisujemy ilość tworzonych plików (do zmiennej)
- utwórz zmienną sterującą numerami, np. P i wpisz do niej liczbę 1
- utwórz etykietę START
- utwórz plik o nazwie składającej się ze słowa PLIK i liczby zapisanej w zmiennej P, rozszerzenie TXT
- zwiększ zmienną P o 1
- skocz do etykiety START