5 instrukcji IF do użycia w inteligentniejszych skryptach wsadowych systemu Windows

  • Michael Fisher
  • 0
  • 4403
  • 1178
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 systemu Windows, o tym, jak wygląda poprawna składnia i realistyczny przykład dla każdego z nich.

Jeśli jesteś gotowy, aby 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 informacją, “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 off set DriveLimit = 300000000 for / f "usebackq delims == tokens = 2" %% x in ('wmic logicaldisk gdzie "DeviceID =' C: '" get FreeSpace / format: value') 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.)

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. Oto jak “wmic” polecenie w tym skrypcie wywołuje funkcję “dysk logiczny” spacja i umieszcza ją w zmiennej FreeSpace. Teraz możesz po prostu zastąpić linię “Echo Za mało wolnego miejsca” z pustym 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 pokazuje, jak skonfigurować Blat. Nie znasz się na tworzeniu zaplanowanych zadań? Omówiliśmy artykuł na temat konfigurowania zaplanowanych zadań systemu Windows 4 Nudne zadania, które można zautomatyzować za pomocą harmonogramu zadań systemu Windows 4 Nudne zadania, które można zautomatyzować za pomocą harmonogramu zadań systemu Windows Twój czas jest zbyt cenny, aby zmarnować go na powtarzające się zadania . Pozwól nam pokazać, jak zautomatyzować i zaplanować zadania. Mamy też kilka świetnych przykładów. .

2. Porównania ciągów

Innym 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łączony dla / f "tokenów = 4-5 delims =." %% i in ('ver') ustaw VERSION = %% i. %% j, jeśli "% version%" == "6.0" echo Windows Vista . jeśli "% version%" == "6.1" echo Windows 7, jeśli "% version%" == "6.2" echo Windows 8, jeśli "% version%" == "6.3" echo Windows 8.1, jeśli "% version%" == „10.0” przypomina Windows 10. 

Oto jak wygląda wyjście tego skryptu.

Możliwość porównywania ciągów w partii otwiera całą listę możliwości. Po przejrzeniu wszystkich informacji, które można uzyskać za pomocą polecenia WMIC, zobaczysz, ile statystyk dotyczących 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 tylko narzędziem monitorowania, które może zostać zaplanowane w celu sprawdzenia, czy nowe pliki danych przychodzących 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 używać skryptów Windows do przetwarzania danych do pliku Excel 5 Przydatnych skryptów Windows VB do automatyzacji komputera. 5 Przydatnych skryptów Windows VB do automatyzacji komputera. Od monitorowania strony internetowej po raporty systemowe, dowiedz się, jak to zrobić. aby zautomatyzować wszystkie te rzeczy za pomocą tych niesamowitych skryptów VB, które można teraz kodować w systemie Windows; 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 IF EXISTS 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 występuje problem, możesz co jakiś czas uruchamiać zadanie wsadowe, aby monitorować, czy są tworzone nowe dzienniki błędów, aby można było wysłać alert.

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 otrzymywać 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 off xcopy C: \ somefolder E: \ backupfolder IF% ERRORLEVEL% NEQ 0 

Nie musisz wybierać trasy e-mail. 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 do sprawdzenia określonych kodów błędów, system Windows oferuje dość obszerną listę 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 w skryptach wsadowych, symbol procentu, po którym następuje liczba, reprezentuje zmienną parametru. % 1 to pierwszy parametr,% 2 to drugi 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. Za pomocą instrukcji IF można dodać do skryptów o wiele więcej inteligencji.

Oczywiście, jeśli naprawdę chcesz podnieść poprzeczkę, możesz spojrzeć na VBA z naszym przewodnikiem na temat tworzenia 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 nauczyć się korzystać z PowerShell 5 powodów, dla których powinieneś używać PowerShell zamiast skryptów wsadowych 5 Powodów, dla których powinieneś używać PowerShell zamiast skryptów wsadowych PowerShell jest tym, co uzyskasz, jeśli przekroczysz wiersz polecenia z Batch Scripting, wrzucił kilka dodatkowych funkcji i wyrzucił to wszystko na wyższy poziom. Oto kilka powodów, dla których powinieneś spróbować. , aby wykonać wiele takich samych zadań, do których obecnie używa się zadań wsadowych.




Jeszcze bez komentarzy

O nowoczesnej technologii, prostej i niedrogiej.
Twój przewodnik w świecie nowoczesnych technologii. Dowiedz się, jak korzystać z technologii i gadżetów, które nas otaczają każdego dnia i dowiedz się, jak odkrywać ciekawe rzeczy w Internecie.