******************************
* KURS PROGRAMOWANIA *
* *
* BATCH FILE PROGRAMING *
* *
* POZIOM PODSTAWOWY *
* *
* Copyright (C) by Otul 2002 *
* *
* otul2@poczta.onet.pl *
* *
* www.otul.prv.pl *
******************************
Witam wszystkich w moim kursie o batchu, niektórzy spotykają się ze mną już po raz trzeci.
Znowu życzę przyjemnej edukacji i przepraszam za wszelkiego rodzaju błędy.
1.WSTĘP
Dlaczego w trzecim kursie opisałem najprostszy ze skryptów - Batch`a? Zobaczymy:
Zalety:
-nie wymaga specjalnych kompilatorów i linkerów, wystarcza Command.com
-command.com posiada prosty debugger
-posiada proste komendy
-umożliwia proste kopiowanie, przenoszenie, usuwanie ... plików itp.
Wady:
-małe możliwości
-w nowych systemach takich jak np. Windows XP czy Windows 2000 nie chodzi
poprawnie bądź wcale
-prosty do rozpracowania kod źródłowy(nawet po konwersji na COM`a)
Koniec paplaniny, przejdźmy do konkretów! :-)
2.PIERWSZY KROK (a raczej drugi)
Zanim poznamy komendy i ich znaczenie chciałem przedstawić zasady programowania
w tym języku i ogólne zasady konstrukcji linii.
-Tworzenie skryptu
Skrypt musi posiadać nazwę(max 7 znaków) i rozszerzenie BAT np. Otul.bat
Edycji można dokonywać Editem czy Notatnikiem.
-Pisanie komend
Zazwyczaj piszemy jedną komendę w lini i kończymy tę linię ENTEREM.
echo off
cls
...
Linię możemy rozbudować poprzez operatory kierowania '>>' i '>' oraz '|'.
echo Cześć >dane.txt
echo Cześć OTUL >>dane2.txt
mem | find "XMS" >pamiec.txt
Każdą linię możemy ukryć przed wyświetleniem pisząc przed nią rem(komentarz)
rem To jest komentarz do programu
- KOMENDY
ECHO
echo tekst - wyświetla tekst
echo. - wyświetla pustą linię
echo off - powoduje wstrzymanie wyświetlanie komend i ścieżek dostępu na ekranie
echo on - powoduje włączenie wyświetlania komend i ścieżek dostępu na ekranie
echo teskt >plik.txt - zapisuje tekst do pliku plik.txt
echo tekst >>plik.txt - dopisuje tekst do pliku plik.txt
CLS
cls - czyści ekran
REM
rem komentarz - umożliwia wprowadzenie komentarza do skryptu
PAUSE
pause - wstrzymuję pracę programu do czasu naciśnięcia dowolnego klawisza
i wyświetla taką informację: "Naciśnij dowolny klawisz, aby kontynuować..."
lub "Stike any key when ready..."
pause >nul - to samo co powyżej, lecz bez tekstu
CALL
call program - pozwala wywołać inny skrypt bat lub program nie przerywając działania
bieżącego
GOTO
goto otul - skocz do etykiety otul (etykietę oznacza się przez dodanie : np. :Otul)
SET
set x=otul - ustaw zmienną x jako otul
IF
if "%1"=="otul" goto ok - jeżeli parametr 1 równy jest otul to skocz do etykiety ok
if "%x%"=="otul" goto ok - jeżeli zmienna x równa jest otul to skocz do etykiety ok
if errorlevel 1 goto ok - jeżeli wystąpił błąd równy 1 to skocz do etykiety ok
if exist otul.txt goto ok - jeżeli istnieje plik otul.txt to skocz do etykiety ok
(można także dodać do warunków operator negacji [not] tzn. jeżeli jest nierówne to zrób coś)
if not exist otul.txt goto ok - jeżeli nie istnieje otul.txt to skocz do etyk. ok
MD i RD
md otul - tworzy katalog otul
rd otul - usuwa pusty katalog otul
CD
cd otul - wchodzi do katalogu otul
cd.. - wychodzi o jedne poziom do góry
cd\ - wychodzi do głównego katalogu
DEL i ERASE
del otul.txt - usuwa plik otul.txt
erase otul.txt - usuwa plik otul.txt (jest to inna nazwa komendy)
DELTREE
deltree c:\otul - usuwa katalog otul wraz z jego zawartością
FORMAT
format c: {parametry} - formatuje dysk c
parametry: /q - szybkie /u - bezwarunkowe, całkowite /s - systemowe(przenosi system)
DIR
dir {parametry} - wyświetla pliki w bieżącym katalogu
dir c:\windows {parametry} - wyświetla pliki we wskazanym katalogu (tutaj windows)
parametry: /p - stopuje ekran po wypełnieniu /v - tryb pełny /o'x' - sortowanie według:
n - nazw(alfabetycznie) s - rozmiaru e - rozszerzenia d - daty i godziny g - po katalogach
COPY
copy c:\otul\otul.txt C:\oc - kopiuje plik otul.txt z podanej ścieżki do katalogu podanego
w drugiej ścieżce
copy otul.txt+otul2.txt otuloc.txt - łączy dwa pliki w jeden
parametry: /v - weryfikuje poprawność zapisu plików /y - powoduje automatyczne
nadpisywannie plików
RENAME
ren c:\otul\otul.txt otul2.txt - zmienia nazwę pliku otul.txt na otul2.txt
MOVE
move c:\otul\otul2.txt C:\otul3.txt - przenosi plik otul2.txt do katalogu c i zmienia nazwę
na otul3.txt
DATE i TIME
date - wyświetla aktualną datę, pozwala wprowadzić nową
time - wyświetla aktualny czas, pozwala wprowadzić nowy
VER i VOL
ver - wyświetla nazwę i wersję aktualnie zainstalowanego systemu operacyjnego
vol c: - wyświetla informacje o woluminie dysku c
LABEL
label c: OTUL - zmienia etykietę dysku c na Otul
Na początek wystarczy Ci tych komend, użyjmy ich teraz!!!
3.PRZYKŁADY
Przedstawię poniżej przykładowe programy, nie będę ich opisywał, pozostawiam to
tobie - programisto :-) .
APPLE
@echo off
cls
echo ŰŰ
echo ŰŰŰŰ
echo Ű
echo ŰŰŰŰŰŰŰŰ Robak idzie do jabłka!
echo ۱±±±±±±±±Ű
echo ۱±±±˛˛˛±±±±Ű ŰŰŰ
echo ۱±±±˛˛˛˛˛±±±±Ű ŰŰŰŰŰ ŰŰŰ
echo ۱±±±±˛˛˛±±±±±Ű ŰŰŰŰ ŰŰŰ ŰŰŰ ŰŰŰ
echo ۱±±±±±±±±±±Ű O ŰŰŰŰŰŰŰŰŰŰŰŰŰ ŰŰŰŰŰŰŰŰŰŰŰŰŰŰŰ
echo ۱±±±±±±±±Ű @ ŰŰŰŰŰŰŰŰŰŰŰŰ ŰŰŰŰŰŰŰŰŰŰŰŰŰ
echo ۱±±±±±Ű ßßßßß
echo ۱±±±Ű
echo ŰŰŰŰ
pause
HACKER COMPUTER
@echo off
:menu
cls
echo.
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo ş @@@@@@@@@@@ Hacker Computer ş
echo ş @ H H @ Presents: ş
echo ş @ HHH @ ş
echo ş @ H H @ "HACKERS ANIM" ş
echo ş @ @ (R) ş
echo ş @ @ ş
echo ş @ Copyright(C) by OTUL! ş
echo ČÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍĽ
echo.
echo MENU
echo S-Start
echo K-Koniec
choice/c:sk/n /t:k,600 >nul
if errorlevel 2 goto end
if errorlevel 1 goto 1
:1
cls
echo.
echo ˛˛˛°
echo ˛° ˛°
echo ˛˛˛°
echo ˛° ˛°
echo ˛° ˛°
echo.
echo ˛˛˛°
echo ˛° ˛°
echo ˛˛˛°
echo ˛° ˛°
echo ˛° ˛°
choice/c:a/n /t:a,1 >nul
:2
cls
echo.
echo ˛˛˛˛° ˛˛˛°
echo ˛° ˛° ˛°
echo ˛˛° ˛˛˛°
echo ˛° ˛° ˛°
echo ˛˛˛˛° ˛° ˛°
echo.
echo ˛˛˛˛° ˛˛˛°
echo ˛° ˛° ˛°
echo ˛˛° ˛˛˛°
echo ˛° ˛° ˛°
echo ˛˛˛˛° ˛° ˛°
choice/c:a/n /t:a,1 >nul
:3
cls
echo.
echo ˛° ˛° ˛˛˛˛° ˛˛˛°
echo ˛°˛° ˛° ˛° ˛°
echo ˛˛° ˛˛° ˛˛˛°
echo ˛°˛° ˛° ˛° ˛°
echo ˛° ˛° ˛˛˛˛° ˛° ˛°
echo.
echo ˛˛˛° ˛˛˛˛° ˛˛˛°
echo ˛° ˛° ˛° ˛°
echo ˛° ˛˛° ˛˛˛°
echo ˛° ˛° ˛° ˛°
echo ˛° ˛˛˛˛° ˛° ˛°
choice/c:a/n /t:a,1 >nul
4:
cls
echo.
echo ˛˛˛° ˛° ˛° ˛˛˛˛° ˛˛˛°
echo ˛° ˛°˛° ˛° ˛° ˛°
echo ˛° ˛˛° ˛˛° ˛˛˛°
echo ˛° ˛°˛° ˛° ˛° ˛°
echo ˛˛˛° ˛° ˛° ˛˛˛˛° ˛° ˛°
echo.
echo ˛° ˛° ˛˛˛° ˛˛˛˛° ˛˛˛°
echo ˛° ˛° ˛° ˛° ˛° ˛°
echo ˛° ˛° ˛° ˛˛° ˛˛˛°
echo ˛° ˛° ˛° ˛° ˛° ˛°
echo ˛˛˛˛˛° ˛° ˛˛˛˛° ˛° ˛°
choice/c:a/n /t:a,1 >nul
:5
cls
echo.
echo ˛° ˛° ˛˛° ˛˛˛° ˛° ˛° ˛˛˛˛° ˛˛˛°
echo ˛° ˛° ˛° ˛° ˛° ˛°˛° ˛° ˛° ˛°
echo ˛˛˛˛° ˛° ˛° ˛° ˛˛° ˛˛° ˛˛˛°
echo ˛° ˛° ˛˛˛˛° ˛° ˛°˛° ˛° ˛° ˛°
echo ˛° ˛° ˛° ˛° ˛˛˛° ˛° ˛° ˛˛˛˛° ˛° ˛°
echo.
echo ˛˛˛° ˛° ˛° ˛˛˛° ˛˛˛˛° ˛˛˛°
echo ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛°
echo ˛˛˛° ˛° ˛° ˛° ˛˛° ˛˛˛°
echo ˛° ˛° ˛° ˛° ˛° ˛° ˛°
echo ˛° ˛˛˛˛˛° ˛° ˛˛˛˛° ˛° ˛°
choice/c:a/n /t:a,1 >nul
:6
cls
echo.
echo ˛° ˛° ˛˛° ˛˛˛° ˛° ˛° ˛˛˛˛° ˛˛˛°
echo ˛° ˛° ˛° ˛° ˛° ˛°˛° ˛° ˛° ˛°
echo ˛˛˛˛° ˛° ˛° ˛° ˛˛° ˛˛° ˛˛˛°
echo ˛° ˛° ˛˛˛˛° ˛° ˛°˛° ˛° ˛° ˛°
echo ˛° ˛° ˛° ˛° ˛˛˛° ˛° ˛° ˛˛˛˛° ˛° ˛°
echo.
echo ˛° ˛° ˛˛˛° ˛° ˛° ˛˛˛° ˛˛˛˛° ˛˛˛°
echo ˛˛ ˛˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛°
echo ˛°˛°˛° ˛˛˛° ˛° ˛° ˛° ˛˛° ˛˛˛°
echo ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛°
echo ˛° ˛° ˛° ˛˛˛˛˛° ˛° ˛˛˛˛° ˛° ˛°
choice/c:a/n /t:a,1 >nul
:7
cls
echo.
echo ˛° ˛° ˛˛° ˛˛˛° ˛° ˛° ˛˛˛˛° ˛˛˛°
echo ˛° ˛° ˛° ˛° ˛° ˛°˛° ˛° ˛° ˛°
echo ˛˛˛˛° ˛° ˛° ˛° ˛˛° ˛˛° ˛˛˛°
echo ˛° ˛° ˛˛˛˛° ˛° ˛°˛° ˛° ˛° ˛°
echo ˛° ˛° ˛° ˛° ˛˛˛° ˛° ˛° ˛˛˛˛° ˛° ˛°
echo.
echo ˛˛° ˛° ˛° ˛˛˛° ˛° ˛° ˛˛˛° ˛˛˛˛° ˛˛˛°
echo ˛° ˛° ˛˛ ˛˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛°
echo ˛° ˛° ˛°˛°˛° ˛˛˛° ˛° ˛° ˛° ˛˛° ˛˛˛°
echo ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛°
echo ˛˛° ˛° ˛° ˛° ˛˛˛˛˛° ˛° ˛˛˛˛° ˛° ˛°
choice/c:a/n /t:a,1 >nul
:8
cls
echo.
echo ˛° ˛° ˛˛° ˛˛˛° ˛° ˛° ˛˛˛˛° ˛˛˛°
echo ˛° ˛° ˛° ˛° ˛° ˛°˛° ˛° ˛° ˛°
echo ˛˛˛˛° ˛° ˛° ˛° ˛˛° ˛˛° ˛˛˛°
echo ˛° ˛° ˛˛˛˛° ˛° ˛°˛° ˛° ˛° ˛°
echo ˛° ˛° ˛° ˛° ˛˛˛° ˛° ˛° ˛˛˛˛° ˛° ˛°
echo.
echo ˛˛˛° ˛˛° ˛° ˛° ˛˛˛° ˛° ˛° ˛˛˛° ˛˛˛˛° ˛˛˛°
echo ˛° ˛° ˛° ˛˛ ˛˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛°
echo ˛° ˛° ˛° ˛°˛°˛° ˛˛˛° ˛° ˛° ˛° ˛˛° ˛˛˛°
echo ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛°
echo ˛˛˛° ˛˛° ˛° ˛° ˛° ˛˛˛˛˛° ˛° ˛˛˛˛° ˛° ˛°
choice/c:a/n /t:a,1 >nul
:9
cls
echo.
echo ˛° ˛° ˛˛° ˛˛˛° ˛° ˛° ˛˛˛˛° ˛˛˛°
echo ˛° ˛° ˛° ˛° ˛° ˛°˛° ˛° ˛° ˛°
echo ˛˛˛˛° ˛° ˛° ˛° ˛˛° ˛˛° ˛˛˛°
echo ˛° ˛° ˛˛˛˛° ˛° ˛°˛° ˛° ˛° ˛°
echo ˛° ˛° ˛° ˛° ˛˛˛° ˛° ˛° ˛˛˛˛° ˛° ˛°
echo.
echo ˛˛˛° ˛˛° ˛° ˛° ˛˛˛° ˛° ˛° ˛˛˛° ˛˛˛˛° ˛˛˛°
echo ˛° ˛° ˛° ˛˛ ˛˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛°
echo ˛° ˛° ˛° ˛°˛°˛° ˛˛˛° ˛° ˛° ˛° ˛˛° ˛˛˛°
echo ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛°
echo ˛˛˛° ˛˛° ˛° ˛° ˛° ˛˛˛˛˛° ˛° ˛˛˛˛° ˛° ˛°
choice/c:a/n /t:a,1 >nul
10:
cls
echo.
echo ˛° ˛° ˛˛° ˛˛˛° ˛° ˛° ˛˛˛˛° ˛˛˛°
echo ˛° ˛° ˛° ˛° ˛° ˛°˛° ˛° ˛° ˛°
echo ˛˛˛˛° ˛° ˛° ˛° ˛˛° ˛˛° ˛˛˛°
echo ˛° ˛° ˛˛˛˛° ˛° ˛°˛° ˛° ˛° ˛°
echo ˛° ˛° ˛° ˛° ˛˛˛° ˛° ˛° ˛˛˛˛° ˛° ˛°
echo.
echo ˛˛˛° ˛˛° ˛° ˛° ˛˛˛° ˛° ˛° ˛˛˛° ˛˛˛˛° ˛˛˛°
echo ˛° ˛° ˛° ˛˛ ˛˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛°
echo ˛° ˛° ˛° ˛°˛°˛° ˛˛˛° ˛° ˛° ˛° ˛˛° ˛˛˛°
echo ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛°
echo ˛˛˛° ˛˛° ˛° ˛° ˛° ˛˛˛˛˛° ˛° ˛˛˛˛° ˛° ˛°
choice/c:a/n /t:a,1 >nul
11:
cls
echo.
echo ˛° ˛° ˛˛° ˛˛˛° ˛° ˛° ˛˛˛˛° ˛˛˛°
echo ˛° ˛° ˛° ˛° ˛° ˛°˛° ˛° ˛° ˛°
echo ˛˛˛˛° ˛° ˛° ˛° ˛˛° ˛˛° ˛˛˛°
echo ˛° ˛° ˛˛˛˛° ˛° ˛°˛° ˛° ˛° ˛°
echo ˛° ˛° ˛° ˛° ˛˛˛° ˛° ˛° ˛˛˛˛° ˛° ˛°
echo.
echo ˛˛˛° ˛˛° ˛° ˛° ˛˛˛° ˛° ˛° ˛˛˛° ˛˛˛˛° ˛˛˛°
echo ˛° ˛° ˛° ˛˛ ˛˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛°
echo ˛° ˛° ˛° ˛°˛°˛° ˛˛˛° ˛° ˛° ˛° ˛˛° ˛˛˛°
echo ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛° ˛°
echo ˛˛˛° ˛˛° ˛° ˛° ˛° ˛˛˛˛˛° ˛° ˛˛˛˛° ˛° ˛°
choice/c:a/n /t:a,1 >nul
echo.
echo WRITEN BY:
echo.
echo ˛˛˛˛° ˛˛˛° ˛° ˛° ˛°
echo ˛° ˛° ˛° ˛° ˛° ˛°
echo ˛° ˛° ˛° ˛° ˛° ˛°
echo ˛˛˛˛° ˛° ˛˛˛˛° ˛˛˛˛°
echo.
pause >nul
goto menu
:end
cls
exit
To już koniec przykładów, inne można zobaczyć i ściągnąć ze strony www.otul.prv.pl
4.ZAKOŃCZENIE
Szkoda, że muszę kończyć już ten kurs, ale muszę powiedzieć jedno. Jeżeli dotarłeś do
tego miejsca poprzez ciężką pracę i naukę to gratuluję Ci i mianuję Cię początkującym
programistom - ogólnie. Batch był tylko namiastką prawdziwego programowania.
Myślę, że kurs przydał się wam, do zobaczenia w następnym - dotyczącym C !!!
Wyszukiwarka
Podobne podstrony:
Bulha Krótki Kurs DezinformacjiDaj się poznać od najlepszej strony Krótki kurs autopromocji i lansukrotki kurs WI wyklad 5krotki kurs WI wyklad 3Krotki kurs kosztorysowaniawięcej podobnych podstron