Reklama

Jeśli wykonujesz dużo pracy w plikach wsadowych systemu Windows, plik Instrukcja IF oferuje bardzo wydajny sposób na dodanie elastyczności do twoich skryptów.

W tym artykule dowiesz się o pięciu głównych typach instrukcji JEŻELI, których możesz użyć w pliku wsadowym Windows, o tym, jak wygląda poprawna składnia i realistyczny przykład dla każdego z nich.

Jeśli chcesz rozpocząć pisanie skryptów, zacznijmy!

1. Porównaj wartości

Jedną z podstawowych rzeczy, które zwykle musisz zrobić w skrypcie wsadowym, jest porównaj dwie wartości i postępuj inaczej w zależności od porównania.

Załóżmy na przykład, że chcesz napisać skrypt wsadowy, który codziennie sprawdza rozmiar dysku twardego komputera. Jeśli jest on mniejszy niż 3 GB, chcesz otrzymać raport e-mail z napisem „Za mało miejsca na dysku twardym”.

Aby utworzyć skrypt, który porównuje bieżące wolne miejsce na dysku twardym z limitem, należy utworzyć następujący skrypt wsadowy i zapisać go jako plik .bat.

@echo wyłączone. ustaw DriveLimit = 300000000. for / f "usebackq delims == tokens = 2" %% x in (`logiczny dysk wmic gdzie" DeviceID = 'C:' "pobierz FreeSpace / format: wartość`) ustaw FreeSpace = %% x. Echo FreeSpace = "% FreeSpace%" Limit echa = „% DriveLimit%” Jeśli% FreeSpace% GTR% DriveLimit% (echo Jest wystarczającej ilości wolnego miejsca. ) else (Echo Za mało wolnego miejsca. )
instagram viewer

WMIC to składnik Instrumentacji zarządzania Windows w systemie Windows, który zawiera zestaw poleceń, których można użyć do pobrania informacji z komputera. W ten sposób komenda „wmic” w tym skrypcie wywołuje przestrzeń „logicaldisk” i umieszcza ją w zmiennej FreeSpace. Teraz możesz po prostu zastąpić wiersz „Echo Za mało wolnego miejsca” prostym poleceniem e-mail, aby wysłać Ci alert.

Na koniec ustaw ten skrypt jako zaplanowane zadanie wsadowe systemu Windows uruchamiane codziennie.

Jeśli nigdy wcześniej nie korzystałeś z Blat, mamy artykuł, który Ci to pokazuje jak skonfigurować blat. Nie znasz się na tworzeniu zaplanowanych zadań? Mamy dla Ciebie artykuł na temat jak skonfigurować zaplanowane zadania systemu Windows 4 Nudne zadania, które można zautomatyzować za pomocą Harmonogramu zadań systemu WindowsTwój czas jest zbyt cenny, aby marnować go na powtarzające się zadania. Pozwól nam pokazać, jak zautomatyzować i zaplanować zadania. Mamy też kilka świetnych przykładów. Czytaj więcej .

2. Porównania ciągów

Kolejnym cennym porównaniem JEŻELI, które można wykonać w zadaniu wsadowym, jest porównywanie ciągów.

W poniższym przykładzie zobaczysz, jak sprawdzić wersję systemu Windows za pomocą zadania wsadowego. Następnie możesz porównać to z oczekiwaną wersją systemu Windows.

Niektóre zastosowania tego skryptu byłyby przeznaczone do audytów IT, gdy trzeba szybko uruchomić skrypt i upewnić się, że obecny system operacyjny jest najnowszy lub czy wymaga aktualizacji.

Oto jak wygląda ten skrypt.

@echo wyłączone. dla / f "tokenów = 4-5 delims =. „%% i in („ ver ”) ustaw VERSION = %% i. %% j. jeśli „% version%” == „6.0” odbija się echem w systemie Windows Vista. jeśli „% version%” == „6.1” przypomina Windows 7. jeśli „% version%” == ”6.2” przypomina Windows 8. jeśli „% version%” == „6.3” odbija się echem w systemie Windows 8.1. jeśli „% version%” == „10.0” powtórzy Windows 10. 

Oto, jak wygląda wyjście tego skryptu.

Plik wsadowy, Windows, programowanie

Możliwość porównywania ciągów w partii otwiera całą listę możliwości. Jeśli poznasz wszystkie informacje, które można uzyskać za pomocą polecenia WMIC zobaczysz, ile statystyk dotyczących Twojego komputera możesz monitorować. Możesz użyć zaplanowanych zadań wsadowych, aby ostrzec o nich.

3. Sprawdź, czy plik istnieje

Inną przydatną sytuacją, w której znajduje się instrukcja JEŻELI w pliku wsadowym sprawdź, czy istnieje plik danych.

Często zadanie wsadowe jest po prostu narzędziem monitorowania, które może zostać zaplanowane w celu sprawdzenia, czy nowe przychodzące pliki danych znajdują się w określonym katalogu.

Następnie zadanie wsadowe może albo skopiować ten plik do innej lokalizacji, w której może zostać przetworzony, lub uruchomić skrypt systemu Windows, który przetwarza plik na dane wyjściowe programu Excel.

(W przeszłości pisaliśmy o tym, jak to zrobić używaj skryptów Windows do przetwarzania danych do pliku Excel 5 Przydatnych skryptów Windows VB do automatyzacji korzystania z komputeraOd monitorowania strony internetowej po raporty systemowe - dowiedz się, jak zautomatyzować wszystkie rzeczy za pomocą tych niesamowitych skryptów VB, które możesz teraz kodować w systemie Windows. Czytaj więcej ; dobre czytanie w tle).

Używanie pliku wsadowego do sprawdzania, czy plik istnieje w katalogu jest szybkie i łatwe. Oto jak wygląda ten skrypt.

@echo wyłączone. jeśli istnieją c: \ temp \ datafile.txt (% WINDIR% \ SysWOW64 \ cmd.exe cscript LoadToExcel.vbs. ) else (plik rem nie istnieje. )

Porównanie JEŚLI ISTNIEJE jest przydatne do wielu rzeczy.

Na przykład, jeśli masz uruchomiony system lub aplikację, która tworzy nowe dzienniki błędów w określonym folderze, gdy taki istnieje problem, możesz co jakiś czas uruchamiać zadanie wsadowe, aby monitorować, czy tworzone są nowe dzienniki błędów, aby można było je wysłać alarm.

4. Sprawdź, czy polecenie nie powiodło się

Aspektem skryptów plików wsadowych, z którego korzysta zbyt mało osób IT lub programistów sprawdzanie błędów.

Istnieje wiele zadań wsadowych, które wykonują krytyczne zadania informatyczne, takie jak tworzenie kopii zapasowych ważnych plików lub wykonywanie operacji kopiowania plików. Gdy te zadania wsadowe zawodzą, systemy zawodzą i ludzie zauważają.

O wiele mądrzej jest otrzymać alert, gdy zadanie wsadowe nie wykonało polecenia przed ludzie zaczynają zauważać. W ten sposób możesz proaktywnie rozwiązać problem.

Można to zrobić, używając zmiennej% errorlevel%, którą zwraca większość aplikacji i poleceń po ich uruchomieniu.

Wszystko, co musisz zrobić, to wykonać polecenie IF IF% ERRORLEVEL%. Jeśli aplikacja lub polecenie zwróciło zero, wszystko jest w porządku. Jeśli nie, musisz wysłać sobie e-mail.

@echo wyłączone. xcopy C: \ somefolder E: \ backupfolder. JEŻELI% BŁĘDÓW% NEQ 0 

Nie musisz wybierać trasy e-mailem. Zawsze możesz napisać dziennik błędów, który możesz sprawdzać każdego ranka, lub uruchomić drugą aplikację lub polecenie, które próbuje wykonać kopię za pomocą polecenia alternatywnego. Niezależnie od tego, co chcesz podjąć, JEŻELI% ERRORLEVEL% pozwala to zrobić.

Jeśli wolisz użyć instrukcji JEŻELI, aby sprawdzić określone kody błędów, system Windows oferuje dość obszerna lista kodów błędów.

5. Sprawdź brakujące parametry

Ostatnia przydatna instrukcja IF nie jest konkretną komendą, ale zamiast tego sprawdza, czy skrypt otrzymał odpowiednie parametry wejściowe.

Załóżmy na przykład, że napisałeś skrypt, który wykonuje polecenie xcopy z folderu wejściowego do wspólnego folderu sieciowego używanego przez zespół. Użytkownik musi jedynie podążać za nazwą skryptu z parametrami określającymi jego osobistą ścieżkę do pliku.

Oczywiście nie można poprawnie wykonać skryptu bez określonej ścieżki, dlatego można umieścić instrukcję IF na początku skryptu, aby upewnić się, że oba parametry zostały wprowadzone.

Oto jak to wygląda.

@echo wyłączone. JEŻELI [% 1] == [] ( GOTO sub_message. ) ELSE ( xcopy% 1 E: \ backupfolder. ) GOTO eof.: sub_message. echo Zapomniałeś podać swoją ścieżkę.: eof.

Jeśli nigdy wcześniej nie stosowałeś parametrów ze skryptami wsadowymi, symbol procentu, po którym następuje liczba, reprezentuje zmienną parametru. % 1 jest pierwszym parametrem,% 2 jest drugim i tak dalej.

Zadania wsadowe mogą być potężne

Wiele osób zaczyna korzystać z zadań wsadowych do prostych zadań, które muszą być wykonywane po kolei. Dzięki instrukcjom IF można dodać do skryptów znacznie więcej inteligencji.

Oczywiście, jeśli naprawdę chcesz podnieść poprzeczkę, możesz zastanowić się nad VBA z naszym przewodnikiem tworzenie pierwszej aplikacji VBA, a może nawet nauczyć się programowania w języku Python.

Często możesz używać bardziej zaawansowanych języków programowania, takich jak te, lub naucz się korzystać z PowerShell 5 powodów, dla których powinieneś używać programu PowerShell zamiast skryptów wsadowychPowerShell jest tym, co można uzyskać, jeśli przekroczysz Wiersz polecenia za pomocą skryptów wsadowych, wrzucisz kilka dodatkowych funkcji i wyrzucisz wszystko o kilka stopni. Oto kilka powodów, dla których powinieneś spróbować. Czytaj więcej , aby wykonać wiele takich samych zadań, do których obecnie używa się zadań wsadowych.

Ryan ma tytuł licencjata z inżynierii elektrycznej. Pracował 13 lat w inżynierii automatyki, 5 lat w IT, a teraz jest inżynierem aplikacji. Były redaktor naczelny MakeUseOf, przemawiał na krajowych konferencjach dotyczących wizualizacji danych i był prezentowany w krajowej telewizji i radiu.