****************************** * 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 �� �� �� �� �� ���� �� �...
KSnake