Polecenie: "IF" jest włączone Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. dostępne
Przykłady polecenia "IF"
The
`IF`polecenie w wierszu poleceń systemu Windows służy do wykonywania instrukcji warunkowych w skryptach wsadowych. Oto kilka przykładów:
Przykład 1: Prosta kontrola równości:
@ECHO OFF
SET Variable1=10
SET Variable2=10
IF %Variable1% EQU %Variable2% (
ECHO Zmienne są takie same.
) ELSE (
ECHO Zmienne nie są równe.
)
Opis: W tym przykładzie zmienne
`Variable1`I
`Variable2`porównane. Jeżeli są równe, pojawia się komunikat „Zmienne są równe”. wynik, w przeciwnym razie „Zmienne nie są równe”.
Przykład 2: Sprawdzanie istnienia pliku:
@ECHO OFF
IF EXIST C:\Przykład.txt (
ECHO plik istnieje.
) ELSE (
ECHO plik nie istnieje.
)
Opis: Sprawdza, czy plik „Example.txt” istnieje w katalogu C:\. Jeśli plik istnieje, zostanie wyświetlony odpowiedni komunikat, w przeciwnym razie drugi.
Przykład 3: Sprawdzanie danych wprowadzonych przez użytkownika:
@ECHO OFF
SET /P Dane wejściowe użytkownika=proszę wprowadzić wartość:
IF "%Dane wejściowe użytkownika%"=="" (
ECHO Nie wpisałeś wartości.
) ELSE (
ECHO Oni mają "%Dane wejściowe użytkownika%" weszła.
)
Opis: Sprawdza, czy użytkownik wprowadził wartość. Jeśli nie wprowadzono żadnych danych, pojawi się komunikat „Nie wprowadzono wartości”. wyjście, w przeciwnym razie wyświetlony zostanie wprowadzony ciąg znaków.
Przykład 4: Sprawdzanie rozmiaru pliku:
@ECHO OFF
SET plik=C:\Przykład.txt
SET Minimalny rozmiar=1024
FOR %%A IN (%plik%) DO SET Rozmiar pliku=%%~zA
IF %Rozmiar pliku% GEQ %Minimalny rozmiar% (
ECHO Plik spełnia minimalny rozmiar.
) ELSE (
ECHO Plik jest za mały.
)
Opis: Tutaj sprawdzany jest rozmiar pliku „Example.txt”. Jeśli rozmiar pliku jest większy lub równy rozmiarowi minimalnemu (
`Minimalny rozmiar`), komunikat „Plik spełnia minimalny rozmiar.” wyjście, w przeciwnym razie „Plik jest za mały”.
Przykład 5: Sprawdzanie systemu operacyjnego:
@ECHO OFF
VER | FIND "Windows 10" > NUL
IF %ERRORLEVEL% EQU 0 (
ECHO używasz Windows 10.
) ELSE (
ECHO Używasz innego systemu operacyjnego.
)
Opis: Sprawdza, czy system operacyjny to Windows 10. Jeśli tak, pojawi się komunikat „Używasz systemu Windows 10”. w przeciwnym razie „Używasz innego systemu operacyjnego”.
The
`IF`instrukcja umożliwia sprawdzenie różnych warunków w skryptach wsadowych i podjęcie odpowiednich działań na podstawie wyników.
"IF" Fragment Pomocy systemu Microsoft Windows
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\Windows>
Dokonuje warunkowego przetwarzania w programach wsadowych.
IF [NOT] ERRORLEVEL liczba polecenie
IF [NOT] ciag1==ciag2 polecenie
IF [NOT] EXIST nazwa_pliku polecenie
NOT Okresla, ze system Windows ma wykonac
polecenie tylko
wtedy, gdy warunek nie jest spelniony.
ERRORLEVEL liczba Okresla prawde (spelnienie warunku), jesli
ostatnio
wykonany program zwrócil kod bledu równy lub
wiekszy od
okreslonej liczby.
ciag1==ciag2 Okresla prawde (spelnienie warunku), jesli
podane ciagi
tekstowe pasuja do siebie.
nazwa_pliku Okresla prawde (spelnienie warunku), jesli
plik
o okreslonej nazwie istnieje.
polecenie Okresla polecenie wykonywane, jesli warunek
jest
spelniony. Po poleceniu moze nastapic
polecenie ELSE,
które spowoduje wykonanie polecenia po slowie
kluczowym
ELSE, jesli okreslony warunek zwróci wartosc
FALSE.
Klauzula ELSE musi wystapic w tym samym wierszu co polecenie
nastepujace po
elemencie IF. Na przyklad:
IF EXIST nazwa_pliku. (
del nazwa_pliku.
) ELSE (
echo Brak pliku nazwa_pliku.
)
Nastepujace polecenie NIE dzialaloby, poniewaz polecenie del musi
byc
zakonczone znakiem nowego wiersza:
IF EXIST nazwa_pliku. del nazwa_pliku. ELSE echo Brak pliku
nazwa_pliku.
To polecenie równiez nie bedzie dzialac, poniewaz polecenie po
slowie kluczowym
ELSE musi byc w tym samym wierszu co koniec polecenia
wystepujacego
po slowie kluczowym IF:
IF EXIST nazwa_pliku. del nazwa_pliku.
ELSE echo Brak pliku nazwa_pliku.
Ponizsze polecenie bedzie dzialac, nawet gdy wszystkie polecenia
zostana
umieszczone w jednym wierszu:
IF EXIST nazwa_pliku. (del nazwa pliku.) ELSE echo Brak pliku
nazwa_pliku.
Jezeli wlaczone sa rozszerzenia polecen, instrukcja IF zmienia
sie nastepujaco:
IF [/I] ciag1 operator_porównania ciag2 polecenie
IF CMDEXTVERSION liczba polecenie
IF DEFINED zmienna polecenie
gdzie operator_porównania moze byc jednym z:
EQU - równe
NEQ - nie równe
LSS - mniejsze niz
LEQ - mniejsze niz lub równe
GTR - wieksze niz
GEQ - wieksze niz lub równe
a uzycie przelacznika /I powoduje wykonanie porównania ciagów bez
uwzgledniania
wielkosci liter. Przelacznik /I moze byc równiez uzyty przy
porównaniu
ciag1==ciag2. Sa to porównania rodzajowe w tym sensie, ze, jezeli
zarówno
ciag1, jak i ciag2 skladaja sie wylacznie z cyfr, ciagi sa
konwertowane na
liczby i wykonywane jest porównanie numeryczne.
Wyrazenie warunkowe CMDEXTVERSION dziala podobnie do zmiennej
ERRORLEVEL,
z wyjatkiem tego, ze jest to porównanie z wewnetrznym numerem
wersji
skojarzonym z rozszerzeniami polecen. Pierwszym numerem wersji
jest 1. Wartosc
ta bedzie zwiekszana o 1, jezeli do rozszerzen polecen dodane
zostana znaczace
ulepszenia. Wyrazenie warunkowe CMDEXTVERSION nigdy nie jest
prawdziwe, jezeli
rozszerzenia polecen sa wylaczone.
Wyrazenie warunkowe DEFINED dziala podobnie do wyrazenia EXISTS,
z wyjatkiem
tego, ze argumentem jest nazwa zmiennej; wyrazenie jest
prawdziwe, jezeli
zmienna srodowiskowa jest zdefiniowana.
Wyrazenie %ERRORLEVEL% jest rozwijane w reprezentacje tekstowa
biezacej
wartosci zmiennej ERRORLEVEL przy zalozeniu, ze nie ma jeszcze
zmiennej
srodowiskowej o nazwie ERRORLEVEL, w którym to przypadku pobrana
zostanie
jej wartosc. Po uruchomieniu programu, nastepujace przykladu
ilustruja uzycie
zmiennej ERRORLEVEL:
goto odpowiedz%ERRORLEVEL%
:odpowiedz0
echo Program zwrócil kod 0
:odpowiedz1
echo Program zwrócil kod 1
Mozna takze uzyc porównan numerycznych:
IF %ERRORLEVEL% LEQ 1 goto okay
Wyrazenie %CMDCMDLINE% jest rozwijane do oryginalnej postaci
wiersza
polecenia, przekazanego do programu CMD.EXE, przed jego
przetworzeniem,
przy zalozeniu, ze nie ma jeszcze zmiennej srodowiskowej o nazwie
CMDCMDLINE,
w którym to przypadku pobrana zostanie jej wartosc.
Wyrazenie %CMDEXTVERSION% jest rozwijane w reprezentacje tekstowa
biezacej
wartosci zmiennej CMDEXTVERSION przy zalozeniu, ze nie ma jeszcze
zmiennej
srodowiskowej o nazwie CMDEXTVERSION, w którym to przypadku
pobrana zostanie
jej wartosc.
Ważna informacja, wskazówki dotyczące polecenia "IF"
Podczas korzystania z
`IF`instrukcji w wierszu poleceń systemu Windows, należy zwrócić uwagę na kilka ważnych kwestii:
1.
Składnia warunku: Składnia warunku
`IF`-Oświadczenie wymaga prawidłowego sformułowania warunku. Operator porównania (
`EQU`,
`NEQ`,
`LSS`,
`LEQ`,
`GTR`,
`GEQ`) musi znajdować się pomiędzy porównywanymi wartościami. Zwróć uwagę na spacje w składni, aby uniknąć nieoczekiwanych błędów.
2.
Użycie cudzysłowów: Podczas sprawdzania ciągów znaków ważne jest, aby używać cudzysłowów, aby mieć pewność, że warunek zostanie poprawnie oceniony. Przykład:
`IF "%Variable%"=="Wartość" ...`
3.
Zmienne: Jeśli w warunku używasz zmiennych, upewnij się, że pasują prawidłowo
`%`są zamknięte, jak w
`%Variable%`. Dzięki temu wartość zmiennej zostanie poprawnie wstawiona do warunku.
4.
Oświadczenie ELSE: The
`ELSE`instrukcja musi znajdować się w tym samym wierszu, co nawias zamykający
`IF`stój lub zacznij od nowej linii. Przykład:
IF Stan (
Echo Warunek jest prawdziwy.
) ELSE (
Echo Warunek jest fałszywy.
)
5.
Uwaga`%ERRORLEVEL%`po poleceniu: Jeśli masz
`IF`polecenie po innym poleceniu, możesz
`%ERRORLEVEL%`aby sprawdzić powodzenie lub niepowodzenie tego polecenia. Przykład:
DIR C:\Nieistniejący katalog
IF %ERRORLEVEL% NEQ 0 (
Echo Błąd podczas wykonywania DIR-Komenda.
)
6.
Porównania numeryczne: W przypadku porównań numerycznych należy to zrobić
`EQU`,
`NEQ`,
`LSS`,
`LEQ`,
`GTR`,
`GEQ`aby mieć pewność, że porównania zostaną dokonane prawidłowo.
7.
Operatory logiczne: Możesz używać operatorów logicznych, takich jak
`AND`(
`&&`) I
`OR`(
`||`) w celu stworzenia złożonych warunków. Przykład:
IF Exist plik.txt IF %Variable% EQU Wartość (
Echo Obydwa warunki są prawdziwe.
)
8.
Połączenie z innymi poleceniami: Możesz to zrobić
`IF`-Łącz instrukcje z innymi poleceniami, aby wykonywać różne działania w zależności od warunków.
9.
Białe znaki: Uważaj, aby nie używać niepotrzebnych białych znaków w swoich warunkach lub poleceniach, ponieważ może to prowadzić do nieoczekiwanego zachowania.
Ważne jest, aby zrozumieć składnię
`IF`-Zrozumieć dokładnie instrukcję i upewnić się, że warunki są sformułowane prawidłowo, aby osiągnąć pożądane zachowanie. Jeśli nie masz pewności, możesz zapoznać się z oficjalną dokumentacją firmy Microsoft lub zasobami online.