IF Warunek 'Jeśli'
używany także w programach Batch
POSTAĆ: TYP:
WEWNĘTRZNY
IF [NOT] warunek
komenda
ZNACZENIE: Instrukcja wewnętrzna powodująca warunkowe wykonywanie komend
DOS-a. Może być
ona wykonana na poziomie komend, ale
najczęściej
używana jest wewnątrz programów Batch.
Parametrami
warunku mogą być:
ERRORLEVEL numer
Warunek jest
spełniony, jeśli kod wyjściowy poprzedniego
programu był
równy lub większy niż podany 'numer'.
Kod
wyjściowy programu można
przypisać za pomocą komend
BACKUP,
RESTORE, XCOPY, REPLACE,
DISKCOPY, DISKCOMP,
FORMAT oraz za pomocą innych programów użytkownika.
nazwa1==nazwa2
Warunek jest spełniony, jeżeli 'nazwa1' i 'nazwa2' są
identyczne.
Łańcuchy mogą zawierać dowolne znaki z
wyjątkiem:
przecinków,
średników, znaków równości, spacji.
EXIST
[dysk:]nazwa-pliku[.roz]
Warunek jest
spełniony, jeżeli na wymienionym dysku
istnieje
plik o podanej nazwie. Podanie
nazwy ścieżki
jest
niedozwolone.
'Komenda' może
być dowolną komendą
DOS-u. Będzie ona
wykonywana,
jeśli 'warunek' zostanie spełniony, w
przeciwnym
przypadku będzie
pominięta, a system rozpocznie wykonywanie
następnego
wiersza programu Batch. 'NOT warunek' jest
zaprzeczeniem
warunku.
PRZYKŁADY:
IF EXIST ABC.DAT COPY ABC.DAT B:
Powoduje sprawdzenie, czy na dysku bieżącym znajduje
się plik o
nazwie ABC.DAT. Jeśli plik ten istnieje,
kopiuje go
na dysk B, w przeciwnym przypadku zostanie
wykonany
następny wiersz programu Batch.
IF %1==HASŁO
ECHO Hasło wprowadzono poprawnie
Powoduje
sprawdzenie, czy dany argument parametru
%1
jest równy
'HASŁO'. Jeśli tak, to zostanie wykonana
instrukcja ECHO i na ekranie pojawi się napis 'Hasło
wprowadzono poprawnie'. W przeciwnym przypadku będzie
wykonany
następny wiersz programu Batch.
IF ERRORLEVEL
4 ECHO Przerwany z powodu błędu
Sprawdzi
kod wyjściowy poprzedniego programu.
Jeżeli
kończąc działanie program
przypisze zmiennej
ERRORLEVEL wartość 4,
na ekranie pojawi się napis
'Przerwany
z powodu błędu'. Jeśli zmienna
ERRORLEVEL
będzie
mieć jakąkolwiek inną wartość, nastąpi skok do
kolejnego
wiersza programu Batch.