If [not] ciag1==ciag2 komenda

If [not] ciag1==ciag2 komenda

 Paweł Wujczyk
Paweł Wujczyk
00:00
09.03.2006
4 komentarze
21905 wyświetleń

If [not] ciag1==ciag2 komenda - Instrukcja warunkowa, wykonująca komendę jeżeli ciag1 jest równy ciag2.

1: @echo off
2: if "%1"=="utworz" goto nowe
3:
if "%1"=="skasuj" goto skasuj
4:
goto help
5:
:nowe
6:
echo .>test.txt
7:
echo Plik zostal utworzony.
8:
goto end
9:
:skasuj
10:
del test.txt
11:
echo Plik zostal skasowany.
12:
goto end
13:
:help
14:
echo Nalezy podac parametr utworz lub skasuj.
15:
:end
16:
echo .

Program porównuje pierwszy parametr najpierw z wartością "utworz". Jeżeli porównanie jest prawdziwe zaczynają wykonywać się wiersze od piątego do ósmego. W linijce ósmej program przeskakuje na koniec do linijki piętnastej i wykonuje ostatnie polecenie, czyli wyświetlenie w linijce kropki, którą tu zastosowaliśmy dla większej przejrzystości. Jeżeli porównanie w wierszu drugim zwróci fałsz, następuje kolejne porównanie i następny przeskok. W wypadku, którym oba porównania nie zwrócą prawdy, czyli użytkownik nie poda żadnego parametru lub parametr poda błędnie, program wyświetli pomoc czyli wiersz czternasty. Bardzo często instrukcji porównania wykorzystuje się aby wybrać działanie programu w zależności od parametru.

Jeżeli rozszerzenia poleceń są włączone w instrukcji warunkowej można korzystać z bardziej złożonych poleceń decyzyjnych. Przedstawia je poniższa tabela.

EQU równe
NEQ nie równe
LSS mniejsze niż
LEQ mniejsze niż lub równe
GTR większe niż
GEQ większe niż lub równe

1: @echo off
2: if %1 leq 10 goto mniejsze
3:
echo liczba wieksza niz 10
4:
goto end
5:
:mniejsze
6:
echo liczba mniejsza lub rowna 10
7:
:end
8:
echo .

W tym programie za pomocą operatora leq sprawdzany jest pierwszy argument wywołania.

Nasz program nazywa się program.bat i znajduje się na dysku c:\. Uruchamiamy go wpisując w Wierszu polecenia jego nazwę czyli program. Wszystko co znajduje się pod pierwszą linijką C:\>program  zostało wygenerowane przez nasz program wsadowy. Używamy w programach komend, które zostały opisane wcześniej w tabeli. Jeżeli coś jest nie zrozumiałe należy cofnąć się do poprzednich objaśnień. W kodzie programu numerujemy linie aby prościej było źródło omawiać. W programach wsadowych zabronione jest numerowanie kolejnych wierszy.


Spodobał Ci się ten artykuł? Podziel się z innymi!

Źródło:

Polecamy również w kategorii Programy wsadowe (.bat)

Komentarze

  • llimakk 20:13 04.09.2009

    <p>Witam!</p> <p>Gdy wklejeten skrypt no i zapisze to w *.bat to nie mam możliwości wpisania czego chce naprzykłąd utwórz/skasuj tylko okienko mi miga i nic nie moge zrobić (chodzi mi o okienko programu widoczne na screenie) - gdy napisze komende żeby plik sie utworzyżył on sie zrobi ale okienko także miga - wniosek - skrypty działają lecz niewiem jak ustawić w windowsie żeby nie znikały prosze o pomoc</p> <p>Pozdrawiam llimakk</p> <p>PS komenda pause sprawy nie załatwia bo po naciśnięciu klawisza okno znika</p>

  • luki 20:52 23.01.2011

    mi na viscie tylko migneło potem nic[img]../tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif[/img]

  • Batch 23:34 18.01.2012

    Znam się trochę na bacie jeśli ktoś chcę mogę go pouczyć. pisać na gg : 24106117 lub e-mail : czacha55@vp.pl ;) nauka za free!

  • Ja. 17:01 20.03.2013

    Jeżeli ustalacie jakąś wartość poprzez zapytanie o nią użytkownika należy napisać "set /p %Nazwa%=To o co prosicie " przykładowo "set /p %liczba%=Podaj swoją ulubioną liczbę "

Skomentuj

Autor