Реклама

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

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

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

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

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

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

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

@ецхо офф. поставите ДривеЛимит = 300000000. фор / ф "усебацкк делимс == токенс = 2" %% к ин (`вмиц логицдиск где" ДевицеИД = 'Ц:' "гет ФрееСпаце / формат: валуе`) поставите ФрееСпаце = %% к. Ецхо ФрееСпаце = "% ФрееСпаце%" Ограничење еха = "% ДривеЛимит%" Ако је% ФрееСпаце% ГТР% ДривеЛимит% (јека има довољно слободног простора. ) елсе (Ехо Нема довољно слободног простора. )

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

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

Ако никада раније нисте користили блат, имамо чланак који вам приказује како поставити блат. Непознате са постављањем заказаних послова? Објавили смо вам чланак о како подесити заказане задатке за Виндовс 4 досадни задаци које можете аутоматизовати помоћу програма Виндовс Таск СцхедулерВаше време је превише драгоцено да бисте га изгубили са задатцима који се понављају. Дозволите нам да вам покажемо како да аутоматизујете и закажете задатке. Имамо и неколико сјајних примера. Опширније .

2. Стринг Цомпарисонс

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

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

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

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

@ецхо офф. за / ф "токене = 4-5 делимс =. "%% и ин ('вер") поставља ВЕРСИОН = %% и. %% ј. ако "% версион%" == "6.0" одјекује Виндовс Виста. ако "% версион%" == "6.1" одјекује Виндовс 7. ако "% версион%" == "6.2" одјекује Виндовс 8. ако "% версион%" == "6.3" одјекује Виндовс 8.1. ако "% версион%" == "10.0" одјекује Виндовс 10. 

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

Батцх датотека, Виндовс, програмирање

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

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

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

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

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

(Писали смо у прошлости о томе како то учинити користите Виндовс скрипте за обраду података у Екцеловој датотеци 5 Корисних ВБ скрипти за аутоматизацију употребе рачунараОд надгледања веб локација до извештаја система, научите како да аутоматизујете све ствари помоћу ових невероватних ВБ скрипти које тренутно можете да кодујете у Виндовс-у. Опширније ; добро читање у позадини.)

Кориштење батцх датотеке за провјеру да ли постоји датотека у директоријуму је брзо и једноставно. Ево како изгледа та скрипта.

@ецхо офф. ако постоји ц: \ темп \ датафиле.ткт (% ВИНДИР% \ СисВОВ64 \ цмд.еке цсцрипт ЛоадТоЕкцел.вбс. ) друго (датотека датотека не постоји )

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

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

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

Аспект скрипти за батцх датотеке које користи премало ИТ људи или програмера провера грешака.

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

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

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

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

@ецхо офф. кцопи Ц: \ сомефолдер Е: \ бацкуп фолдер. ИФ% ЕРРОРЛЕВЕЛ% НЕК 0 

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

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

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

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

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

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

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

@ецхо офф. АКО [% 1] == [] ( ГОТО суб_мессаге. ) ЕЛСЕ ( кцопи% 1 Е: \ резервна мапа. ) ГОТО еоф.: суб_мессаге. заборавили сте да одредите свој пут.: еоф.

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

Пакетни послови могу бити моћни

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

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

Често можете користити напредније програмске језике попут ових, или научите да користите ПоверСхелл 5 разлога због којих бисте требали користити ПоверСхелл умјесто пакетног скриптаПоверСхелл је оно што бисте добили ако бисте пребацили наредбену линију са Батцх Сцриптинг-ом, бацили неке додатне функције и све то избацили на неколико зареза. Ево неколико разлога што бисте требали да испробате. Опширније , да бисте извршили многе исте задатке за које тренутно користите серијске задатке.

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