Pliki wsadowe/Windows: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
m Wycofano edycje użytkownika 188.147.111.236 (dyskusja). Autor przywróconej wersji to HakanIST.
Znacznik: Wycofanie zmian
Nie podano opisu zmian
 
Linia 3:
== Hello World ==
Zaczynamy od standardowego Hello World:
<sourcesyntaxhighlight lang="dos">
@echo off
echo Hello World
pause
</syntaxhighlight>
</source>
I uruchamiamy program dwuklikiem. Wyświetli on napis ''Hello World'' i poprosi o naciśnięcie dowolnego klawisza. Opis komend:
*<code>@echo off</code> - wyłączenie wyświetlania komend na ekranie.
Linia 17:
=== W trakcie działania programu ===
Zaczniemy od przyjmowania danych w oknie programu. Oto kod:
<sourcesyntaxhighlight lang="dos">
@echo off
echo Jak masz na imię?
Linia 23:
echo Witaj %imie%
pause
</syntaxhighlight>
</source>
{{Uwaga|Funkcja set /p została wprowadzona dopiero w Windows 2000. Po więcej informacji zajrzyj do rozdziału o [[../MS-DOS|MS-DOS i Windows 9x]].}}
Ten program zapyta nas o imię i wyświetli je. Komendy:
Linia 30:
=== Jako argumenty ===
Argumenty to dane przyjmowane w momencie uruchamiania. Możemy je wpisywać przez konsolę lub w oknie ''Właściwości''. Są one oznaczane jako %1, %2, itd. Jeżeli uruchamiamy coś w jakimś programie, to zostanie mu to podane jako pierwszy argument i możemy to wykorzystać. Dla przykładu, oto program "cicho" usuwający uruchamiany plik:
<sourcesyntaxhighlight lang="dos">
@echo off
if exist %1 del %1
</syntaxhighlight>
</source>
 
Linijka <tt>if exist %1 del %1</tt> oznacza ''jeżeli istnieje %1 usuń %1'' (zachowano oryginalną składnię). Jeżeli program zostanie uruchomiony bez argumentu nic się nie stanie. Więcej o instrukcjach warunkowych dowiesz się w następnym dziale.
Linia 39:
== Instrukcje warunkowe i interakcja ze środowiskiem ==
Napiszemy sobie teraz program z listą stron internetowych. Po wpisaniu numeru którejś zostanie uruchomiona przeglądarka internetowa z tą stroną. Kod:
<sourcesyntaxhighlight lang="dos">
@echo off
echo POLECANE STRONY INTERNETOWE
Linia 55:
if not %odp%=="3" exit
if not %odp%=="4" exit
</syntaxhighlight>
</source>
Oczywiście możesz (no dobra, powinieneś) zmienić iexplore.exe na ścieżkę do własnej przeglądarki internetowej. Komendy:
* <code>if [not] [exist] cos==cos komenda</code> - jeżeli coś równa się czemuś wykonaj komendę. Jeżeli użyte jest <tt>not</tt>, stanie się przeciwieństwo - jeżeli coś '''nie''' równa się czemuś wykonaj komendę. Jeżeli użyte jest <tt>exist</tt>, zamiast zwykłego sprawdzenia warunku sprawdzane jest istnienie danego pliku (w przykładzie w poprzednim rozdziale).
Linia 62:
 
Wykorzystanie instrukcji warunkowych w celu znalezienia pliku.
<sourcesyntaxhighlight lang="dos">
if exist c:\moje\zm.txt goto 1
if not exist c:\moje\zm.txt goto 2
Linia 73:
pause >nul
exit
</syntaxhighlight>
</source>
 
== Etykiety ==
Etykieta to narzędzie pozwalające na "skakanie" po kodzie. Wykorzystamy je do ''zapętlenia'' powyższego programu - pytanie o numer strony będzie się pojawiać dopóty, dopóki nie poda się jako numer strony litery q (od ''quit''). Kod:
 
<sourcesyntaxhighlight lang="dos">
@echo off
echo POLECANE STRONY INTERNETOWE
Linia 103:
goto zapytanie
:wyjscie
</syntaxhighlight>
</source>
Zadeklarowaliśmy sobie trzy etykiety (zaznaczone na żółto). Instrukcja goto służy do "skakania" między nimi. Po sprawdzeniu argumentu program wraca się do etykiety zapytanie. Jeżeli argumentem było <code>q</code> program idzie od razu do etykiety wyjscie - program się kończy, jeżeli <code>t</code> program wraca do początku i ponownie wyświetla polecane strony.
 
Linia 109:
Jeżeli chcemy opisać dany fragment programu, musimy skorzystać z komendy REM lub znaku ::,
czyli np:
<sourcesyntaxhighlight lang="dos">
@echo off
REM pojawi się komunikat
Linia 115:
:: wstrzymanie pracy programu
pause
</syntaxhighlight>
</source>
 
==Zapisywanie danych do pliku==
Linia 121:
Oto dwa przypadki:
 
<sourcesyntaxhighlight lang="dos">
rem Przypadek 1
set /a m=2
Linia 132:
pause >>nul
 
</syntaxhighlight>
</source>
W przypadku pierwszym komenda set /a przyporządkowała zmiennej m cyfrę 2 a symbol >> dopisał zmienną do pliku zm.txt lub utworzył nowy gdyby nie było zm.txt.