Kurs BATCH.txt

(12 KB) Pobierz
******************************
*    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              �� �� �� �� ��    ����  ��    �...
Zgłoś jeśli naruszono regulamin