5 ИФ изјава које треба користити за паметније Виндовс пакетне скрипте

5 ИФ изјава које треба користити за паметније Виндовс пакетне скрипте

Ако много радите у Виндовс пакетним датотекама, ИФ изјава нуди веома моћан начин за додавање флексибилности вашим скриптама.





У овом чланку ћете научити о пет главних типова ИФ наредби које можете користити у Виндовс пакетној датотеци, како изгледа исправна синтакса и реалистичан пример за сваку од њих.





Ако сте спремни за почетак писања скрипти, почнимо!





1. Упоредите вредности

Једна од основних ствари које обично морате да радите у пакетној скрипти је упореди две вредности и следити другачији поступак у зависности од поређења.

На пример, рецимо да сте хтели да напишете пакетну скрипту која свакодневно проверава величину чврстог диска вашег рачунара. Ако је испод 3 ГБ, желите да добијете извештај путем е -поште са натписом „Превише простора на чврстом диску“.



Да бисте креирали скрипту која упоређује тренутни слободни простор на чврстом диску са вашим ограничењем, креирали бисте следећу групну скрипту и сачували је као .бат датотеку.

@echo off
set DriveLimit=300000000
for /f 'usebackq delims== tokens=2' %%x in (`wmic logicaldisk where 'DeviceID='C:'' get FreeSpace /format:value`) do set FreeSpace=%%x
Echo FreeSpace='%FreeSpace%'
Echo Limit='%DriveLimit%'
If %FreeSpace% GTR %DriveLimit% (
Echo There is enough free space.
) else (
Echo Not enough free space.
)

ВМИЦ је компонента Виндовс инструмента за управљање у систему Виндовс која долази са низом команди које можете користити за извлачење информација о рачунару. Овако команда 'вмиц' у овој скрипти позива простор 'логички диск' и ставља га у променљиву ФрееСпаце. Сада можете само да замените линију „Ехо Нема довољно слободног простора“ наредбом блат е -поште да вам пошаље упозорење.





Коначно, поставите ову скрипту као пакетни посао заказан за Виндовс који се изводи свакодневно.

Ако никада раније нисте користили блат, имамо чланак који вам показује како да подесите блат. Нисте упознати са постављањем планираних послова? Описали смо вам чланак о томе како поставити заказане задатке у систему Виндовс.





2. Поређења низа

Још једно вредно поређење ИФ -а које можете учинити у серијском послу је упоређивање жица .

У следећем примеру видећете како да проверите верзију оперативног система Виндовс помоћу групног посла. Затим ово можете упоредити са очекиваном верзијом оперативног система Виндовс.

Неке употребе ове скрипте биле би за ИТ ревизије када требате брзо покренути скрипту и провјерити је ли тренутни оперативни систем најновији, или треба ли надоградњу.

Ево како ова скрипта изгледа.

@echo off
for /f 'tokens=4-5 delims=. ' %%i in ('ver') do set VERSION=%%i.%%j
if '%version%' == '6.0' echo Windows Vista.
if '%version%' == '6.1' echo Windows 7
if '%version%' == '6.2' echo Windows 8
if '%version%' == '6.3' echo Windows 8.1
if '%version%' == '10.0' echo Windows 10.

Ево како изгледа излаз ове скрипте.

Способност групног упоређивања низова отвара читаву листу могућности. Ако истражите све информације које можете добити из ВМИЦ команде видећете колико статистика о свом рачунару можете пратити. Можете употријебити заказане пакетне послове да бисте их упозорили.

3. Проверите да ли датотека постоји

Још једна корисна ситуација у којој ИФ наредба у пакетној датотеци треба да проверите да ли постоји датотека са подацима .

Много пута је пакетни посао само алатка за праћење која се може заказати за проверу нових улазних датотека са подацима у одређеном директоријуму.

Затим, пакетни посао може или копирати ту датотеку на другу локацију где се може обрадити, или покренути неку Виндовс скрипту која обрађује датотеку у Екцел излаз.

(Раније смо писали о томе како користите Виндовс скрипте за обраду података у Екцел датотеци ; добро читање у позадини.)

Брзо и једноставно је користити групну датотеку за проверу да ли датотека постоји у директоријуму. Ево како та скрипта изгледа.

@echo off
if exist c: empdatafile.txt (
%WINDIR%SysWOW64cmd.exe
cscript LoadToExcel.vbs
) else (
rem file doesn't exist
)

Поређење ИФ ЕКСИСТС је корисно за многе ствари.

На пример, ако имате покренут систем или апликацију која ствара нове записе грешака у одређеној фасцикли када постоји проблем, можете повремено покретати пакетни посао да бисте надгледали да ли су направљени нови дневници грешака како бисте могли да пошаљете упозорење.

4. Проверите да ли команда није успела

Један аспект групног скриптирања датотека који користи премало ИТ стручњака или програмера јесте проверавање грешака .

Пуно је групних послова који извршавају критичне ИТ задатке, попут израде сигурносних копија важних датотека или извођења операција копирања датотека. Када ови пакетни послови пропадну, системи отказују и људи то примећују.

Много је паметније добити упозорење када ваш пакетни посао не успе наредбом пре него што људи почињу да примећују. На овај начин можете проактивно решити проблем.

То можете учинити коришћењем променљиве % еррорлевел % коју већина апликација и команди враћа након покретања.

Све што треба да урадите је да следите своју команду помоћу наредбе ИФ % ЕРРОРЛЕВЕЛ %. Ако је апликација или команда вратила нулу, све је у реду. Ако не, морате себи послати е -поруку.

@echo off
xcopy C:
omefolder E:ackupfolder
IF %ERRORLEVEL% NEQ 0

Не морате да идете путем е -поште. Увек бисте могли да напишете дневник грешака који бисте могли да проверавате сваког јутра или да покренете другу апликацију или команду која покушава да изврши копирање помоћу алтернативне команде. Коју год радњу желите да предузмете, ИФ % ЕРРОРЛЕВЕЛ % вам то омогућава.

Ако бисте радије користили ИФ наредбу за проверу специфичних кодова грешака, Виндовс нуди прилично опсежна листа кодова грешака .

5. Проверите да ли недостају параметри

Последња корисна наредба ИФ није одређена команда, већ провера да ли је скрипта у питању примио одговарајуће улазне параметре .

На пример, рецимо да сте написали скрипту која извршава наредбу кцопи из улазне фасцикле у заједничку мрежну фасциклу коју користи тим. Корисник само треба да прати име ваше скрипте са параметрима који дефинишу његову личну путању до датотеке.

Очигледно, не можете правилно извршити скрипту без наведене путање, па можете ставити ИФ наредбу на почетак ваше скрипте како бисте били сигурни да су унесена оба параметра.

Ево како то изгледа.

@echo off
IF [%1]==[] (
GOTO sub_message
) ELSE (
xcopy %1 E:ackupfolder
)
GOTO eof
:sub_message
echo You forgot to specify your path.
:eof

Ако никада раније нисте користили параметре са пакетним скриптама, симбол процента иза којег следи број представља променљиву параметра. %1 је први параметар, %2 је други итд.

Серијски послови могу бити моћни

Многи људи почињу користити пакетне послове за једноставне задатке које је потребно изводити у низу. Помоћу ИФ изјава могуће је додати много више интелигенције вашим скриптама.

Наравно, ако заиста желите да напредујете, размислите о томе да погледате ВБА са нашим водичем креирање прве ВБА апликације , или можда чак и научити Питхон програмирање.

Често можете користити напредније програмске језике попут ових или научити да користите ПоверСхелл да бисте извршили многе исте задатке за које тренутно користите пакетне послове.

Објави Објави Твеет Емаил Избришите ове Виндовс датотеке и фасцикле да бисте ослободили простор на диску

Треба да очистите простор на диску на рачунару са оперативним системом Виндовс? Ево Виндовс датотека и фасцикли које се могу безбедно избрисати како би се ослободио простор на диску.

Прочитајте следеће
Повезане теме
  • Виндовс
  • Програмирање
  • Виндовс
О аутору Риан Дубе(942 објављених чланака)

Риан има диплому електротехнике. Радио је 13 година у инжењерингу аутоматизације, 5 година у ИТ -у, а сада је инжењер апликација. Бивши главни уредник МакеУсеОф -а, говорио је на националним конференцијама о визуализацији података и био је представљен на националној телевизији и радију.

повежите бежичне слушалице са кбок оне
Више од Риана Дубеа

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, критике, бесплатне е -књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили