Witam dziś pokażę wam jak robić jakieś programy w BATCH... Zaczynajmy do tego języka nie potrzebujemy jakiegoś skomplikowanego kompilatora.Wystarczy najzwyklejszy, i dobrze nam wszystkim znany...Notatnik, ale ja nie będę go używał wolę Notepad++.Jeżeli używacie notatnika nie zapominajcie o zapisaniu pliku w formacie .bat bo innaczej program nie zadziała ;c.A w Notepad++ klikamy zakładkę język i zaznaczamy Batch.Dobrze napiszmy program który nam wyświetli tekst...
@echo off echo Hello World! pause
zapiszcie go gdzieś i otwórzcie po otwarciu zobaczycie napis: Hello World! Aby kontynuować naciśnij dowolny klawisz...
A więc przetłumaczmy to !
@echo off - Ukrywa nam komendy takie jak echo... echo - wyświetla tekst pause - stopuje program i wyświetla Aby kontynuować itd. jeżeli dalej jest jakiś kod to go odczyta jeżeli nie to zamknie program.
Wiecie coś o podstawach czas napisać coś innego...Mam na myśli zmienne.Zmienna to takie coś co zapisuje wartość która zostanie wpisana, albo można jej przypisać wartość na początku.Jeżeli robisz taki program gdzie np. trzeba wybrać opcje 1 albo 2 to nie musisz przypisywać nic.Dobra weźmy jakiś program ze zmienną
@echo off echo Podaj twoje imię: set/p "a=>" echo A więc masz na imię %a% pause
Co nam się wyświetli? Program poprosi o imię my wpiszemy i zostanie wyświetlone: A więc masz na imie i to co wpisałeś np. Kuba
Ale wytłumaczmy ten kod bo jest ci zapewne obcy
@echo off - Nie pokazuje komend takich jak echo echo Podaj twoje imie - Wyświetli "Podaj twoje imie" set/p "a=>" - I tu coś obcego set to jest zmienna, ale myślisz a co to jest to /p a to jest takie coś że jak napiszesz set/p to będziesz mógł coś do tej zmiennej teraz wpisać a "a=>" a to nazwa zmiennej po to ona jest żeby móc ją później gdzieś odczytać... echo A więc masz na imie %a% - Tak jak mówiłem echo wyświetla tekst. %a% wczytuje zmienną o nazwie a do której wcześniej wpisaliśmy nasze imie %% są potrzebne do wczytania zmiennej... Jeżeli do zmiennej wpisaliśmy Kuba zostało to zapisane i teraz %% odczytają to co jest w zmiennej i wyświetlą... Czyli jak wpisaliśmy Kuba to wyświetli się A więc masz na imię Kuba. pause - stopuje program do kliknięcia jakiegoś klawisza...
Jeżeli nie chcesz, aby wyświetlał się napis Aby kontynuować naciśnij dowolny klawisz napisz pause >nul ukryje to ten napis a jeśli coś klikniemy to tak samo jak byśmy bez >nul napisali czyli zostanie odczytany dalej kod albo jak nie ma kodu to program się wyłączy...
Wiecie już troszkę...Więc pokażę wam pierwsze menu.
@echo off :menu cls echo Menu: echo 1) Menu1 echo 2) Menu2 set/p "menu=>> " if %menu%==1 goto menu1 if %menu%==2 goto menu2 :menu1 cls echo Menu1 echo Menu - dowolny klawisz pause>nul goto menu :menu2 cls echo Menu2 echo Menu - dowolny klawisz pause>nul goto menu
Tak wygląda podstawowe menu.Nie jest to jakiś wielki program ale pierwsze menu... Teraz objaśnienie:
@echo off - Ukrywa :menu - Ooo i to ważne... Znak : jest to już menu tzn. po wpisaniu :menu to jest menu o nazwie menu cls - czyści to co jest wyżej echo Menu: - Napis menu czyli wybierz menu echo 1) Menu1 - Napis echo 2) Menu2 - Napis set/p "menu=>> " - Zmienna której musimy coś przypisać np. 1 albo 2 jeśli weźmiemy 1 to przejdziemy do menu 1 jeśli 2 to do menu 2 if %menu%==1 goto menu1 - Teraz bardzo ale to bardzo ważne ale to za chwile if %menu%==2 goto menu2 :menu1 - To jest menu 1 czyli jak na początku wpiszemy 1 to nas tu weźmie dzięki komędzie if cls - czyści echo Menu1 - napis Menu1 echo Menu - dowolny klawisz - Napis pause>nul - jeśli klikniemy to weźmie nas na początek programu czyli tam gdzie wybieramy menu goto menu - Goto czyli idź jeżeli wpiszemy goto menu to przeniesie nas do menu menu czyli w naszym przypadku do tego menu gdzie wybieramy menu xD :menu2 - to jest menu 2 czyli jak na początku wpiszemy 2 to nas tu weźmie ;D cls - Czyści echo Menu2 - Napis a raczej info że jesteśmy w menu 2 echo Menu - dowolny klawisz - pause>nul - Ukrywa napis aby kontynuować... goto menu - i Goto menu czyli transport to wyboru menu
Dobra miałem wyjaśnić co to jest komenda if... A więc komenda if to jest taki jakby warunek czyli if %menu%== 1 goto menu1 a na Polski to : Jeżeli zmienna menu równa się 1 idź do menu1 Ale można zrobić tak jakby zabezpieczenie bo jak wpiszesz 9864 to ij tak pójdzie to menu1 a więc jak zrobic aby jak klikniesz 186 nie poszło do menu1 a tak if not %menu%== 1 goto menu a na Polski to Jeżeli zmienna menu nie równa się 1 idz do tego menu w którym wybiera się menu 1 albo 2 oczywiście nazwy zmiennych mogą być różne tak jak i menu ja dałem takie przypadkowe
A teraz co innego
@echo off title program ;D :cześć echo Witaj ping localhost -n 2 goto Siema :Siema echo witaj pause
Wklej i zobacz co robi program :) A teraz objaśnienie kodu
@echo off - Ukrywa komendy title program ;D - Nadaje programowi nazwe :cześć - Menu o nazwie cześć w którym jesteśmy po otwarciu programu odrazu echo Witaj - Tekst witaj ping localhost -n 2 goto Siema - i coś ważnego ta komenda stopuje program i po 2 sekundach czyta kod dalej można ustawić że nawet po 60 sekundach czyta dalej i goto siema czyli idz do menu o nazwie siema :Siema echo witaj - tekst pause - i zakończenie programu :)
Można zrobić jeszcze programy co ci coś otworzą np.
@echo off title Przeglądarka echo Podaj nazwe strony do otworzenia np. Demotywatory nie pisz .pl ani www samą nazwe... set/p "Strona=>" start http://%strona%.pl
Tego już nie wytłumaczę po dzisiejszej lekcji powinieneś wiedzieć jak działa. A i batch nie odczytuje Polskich znaków :) Macie takie coś jak mini-Windows ode mnie o nazwie Xirex xD Program zrobiony z nudów ;D : http://sendfile.pl/83971/Xirex.bat
|