Polecenie if Wykonuje przetwarzanie warunkowe w programach wsadowych. Składniaif [not] errorlevel numer polecenie [else wyrażenie]if [not] ciąg1==ciąg2 polecenie [else wyrażenie]if [not] exist nazwa_pliku polecenie [else wyrażenie]Jeżeli włączono rozszerzenia poleceń, należy używać następującej składni:if [/i] ciąg1 operator_porównania ciąg2 polecenie [else wyrażenie]if cmdextversion numer polecenie [else wyrażenie]if defined zmienna polecenie [else wyrażenie]Parametrynot Określa, że polecenie powinno być wykonywane tylko wtedy, gdy warunek nie jest spełniony. errorlevel numer Określa, że warunek jest prawdziwy tylko wtedy, gdy poprzedni program uruchomiony przez Cmd.exe zwrócił kod wyjściowy o numerze równym parametrowi numer lub większym od niego. polecenie Określa, że polecenie powinno być wykonane tylko wtedy, gdy poprzedzający je warunek jest spełniony. ciąg1==ciąg2 Określa, że warunek jest prawdziwy tylko wówczas, gdy parametry ciąg1 i ciąg2 są takie same. Te wartości mogą być ciągami tekstowymi lub zmiennymi wsadowymi (np. %1). Ciągi tekstowe nie muszą być wpisywane w cudzysłowie. exist nazwa_pliku Określa, że warunek jest prawdziwy, jeśli istnieje plik o nazwie określonej przez parametr nazwa_pliku. operator_porównania Określa trzyliterowy operator porównania. Następująca tabela zawiera listę prawidłowych wartości parametru operator_porównania. OperatorOpisEQUrówneNEQnie równeLSSmniejsze niżLEQmniejsze lub równeGTRwiększe niżGEQwiększe lub równe/i Wymusza ignorowanie wielkości liter podczas porównywania ciągów. Parametru /i można używać w składni ciąg1==ciąg2 polecenia if. Są to porównania ogólne, jeżeli ciągi określone przez parametry ciąg1 i ciąg2 składają się w całości z cyfr, ciągi są konwertowane na liczby i wykonywane jest porównanie numeryczne. cmdextversion numer Określa, że warunek jest prawdziwy tylko wtedy, gdy wewnętrzny numer wersji skojarzony z funkcją rozszerzeń poleceń programu Cmd.exe jest równy lub większy niż parametr numer. Pierwsza wersja jest oznaczona numerem 1. Ten numer jest zwiększany o jeden po wprowadzeniu istotnych zmian do rozszerzeń poleceń. Warunek cmdextversion nigdy nie jest prawdziwy, jeżeli rozszerzenia poleceń są wyłączone (rozszerzenia poleceń są domyślnie włączone). defined zmienna Określa, że warunek jest prawdziwy, jeśli zdefiniowano parametr zmienna. wyrażenie Określa polecenie i parametry wiersza polecenia, które należy przekazać do polecenia w klauzuli else. /? Wyświetla Pomoc w wierszu polecenia. SpostrzeżeniaJeżeli warunek określony w poleceniu if jest prawdziwy, wykonywane jest następujące po nim polecenie. Jeżeli warunek nie jest spełniony, polecenie w klauzuli if jest ignorowane i wykonywane jest polecenie w klauzuli else, jeżeli zostało określone. Po zatrzymaniu program zwraca kod wyjściowy. Korzystając z parametru errorlevel, można używać kodów wyjściowych jako warunków. Korzystanie z parametru defined zmienna Jeżeli używany jest parametr defined zmienna, dodawane są trzy następujące zmienne: %errorlevel%, %cmdcmdline% i %cmdextversion%.Zmienna %errorlevel% jest rozwijana do ciągu reprezentującego bieżącą wartość parametru errorlevel pod warunkiem, że jeszcze nie istnieje zmienna środowiskowa o nazwie ERRORLEVEL (w takim przypadku używana jest wartość tej zmiennej). W następującym przykładzie przedstawiono metodę korzystania ze zmiennej errorlevel po uruchomieniu programu wsadowego:goto etykieta_nr%errorlevel%:etykieta_nr0echo Program zwrócił kod 0:etykieta_nr1echo Program zwrócił kod 1goto koniec:koniececho Koniec programu! Z parametru operator_porównania można również korzystać w następujący sposób:if %errorlevel% LEQ 1 goto kontynuacjaZmienna %cmdcmdline% jest rozwijana do oryginalnego wiersza polecenia przekazanego do programu Cmd.exe przed rozpoczęciem przez niego przetwarzania pod warunkiem, że jeszcze nie istnieje zmienna środowiskowa o nazwie cmdcmdline (w takim przypadku używana jest wartość tej zmiennej).Zmienna %cmdextversion% jest rozwijana do ciągu reprezentującego bieżącą wartość parametru cmdextversion pod warunkiem, że jeszcze nie istnieje zmienna środowiskowa o nazwie CMDEXTVERSION (w takim przypadku używana jest wartość tej zmiennej).Używanie klauzuli else Klauzuli else należy używać w tym samym wierszu, co polecenia po słowie kluczowym if. Na przykład:IF EXIST nazwa_pliku. (del nazwa_pliku.) ELSE (echo brak pliku: nazwa_pliku.)Poniższy kod nie jest prawidłowy, ponieważ polecenie del powinno być wpisane w nowym wierszu:IF EXIST nazwa_pliku. del nazwa_pliku. ELSE echo brak pliku: nazwa_plikuNastępujący kod nie jest prawidłowy, ponieważ klauzulę else należy wpisać w wierszu polecenia if:IF EXIST nazwa_pliku. del nazwa_pliku.ELSE echo brak pliku: nazwa_plikuJeżeli konieczne jest wpisanie wszystkiego w pojedynczym wierszu, należy użyć następującej formy oryginalnej instrukcji:IF EXIST nazwa_pliku. (del nazwa_pliku.) ELSE echo brak pliku: nazwa_plikuPrzykładyJeżeli nie można znaleźć pliku Produkt.dat, pojawia się następujący komunikat: if not exist produkt.dat echo Nie można znaleźć pliku danych Jeżeli błąd wystąpi podczas formatowania dysku w stacji A, następujący program wsadowy wyświetli komunikat o błędzie: :start@echo offformat a: /sif not errorlevel 1 goto koniececho Wystąpił błąd podczas formatowania.:koniececho Koniec programu wsadowego.Jeżeli błąd nie wystąpi, komunikat o błędzie nie pojawi się.Polecenia if nie można używać do bezpośredniego sprawdzenia istnienia katalogu, ale urządzenie zerowe znajduje się w każdym katalogu. Można więc sprawdzić, czy jest urządzenie zerowe, aby ustalić, czy istnieje katalog. Następujący przykładowy kod sprawdza, czy istnieje katalog.if exist c:mój_katalognul goto kontynuacja Wiersz poleceń
Polecenie ftp Przesyła pliki do i z komputera, na którym jest uruchomiona usługa serwera FTP, taka jak… Czytaj więcej...
Polecenie fsutil Polecenie fsutil jest narzędziem wiersza polecenia, którego można używać do wykonywania wielu zadań związanych z… Czytaj więcej...
Polecenie dir Wyświetla listę plików i podkatalogów danego katalogu. Polecenie dir użyte bez parametrów wyświetla etykietę i… Czytaj więcej...