Пры працы на кампутары часта ўзнікае неабходнасць паўтору адных і тых жа DOS каманд для ажыццяўлення перыядычна выкананых дзеянняў, пабудовы складанай і шматузроўневай паслядоўнасці выкананых каманд або прыкладанняў, аўтаматызацыі працы з праграмамі і файламі з удзелам або ў адсутнасць карыстальніка. У аперацыйнай сістэме ёсць магчымасць запісаць некалькі каманд у bat-файле. Пры гэтым, проста запускаючы дадзены камандны файл (часта яго называюць скрыпт, або проста «батник»), можна ажыццяўляць выкананне прапісаных каманд, а прапісаўшы яго ў падзеях планавальніка Windows, можна аўтаматызаваць гэты працэс.
Асаблівасцю файлаў дадзенага тыпу з'яўляецца адсутнасць ўнутры якога-небудзь кода - маецца толькі тактавая інфармацыя, якую счытвае і выконвае камандны DOS-працэсар, сумяшчальны практычна з усімі версіямі аперацыйнай сістэмы Windows. Адным з яркіх прыкладаў з'яўляецца файл autoexec.bat, які неабходны для запуску гэтай АС, так як менавіта ён ажыццяўляе яе налады ў ходзе запуску.
Каманды, якія змяшчае bat-файл, па функцыянале можна ўмоўна падзяліць на некалькі груп:
- прызначаныя для вываду на экран пэўнага значэння, фразы, прыкладання або звестак;
- для ажыццяўлення запуску пакетных дакументаў;
- для працы з цыкламі;
- для стварэння галінавання выканання з дапамогай умоў;
- для працы з прыкладаннямі.
Запуск bat-файлаў можна ажыццявіць рознымі спосабамі. Пры працы ў камандным радку ў бягучым каталогу можна проста ўводзіць імёны файлаў з дадатковымі параметрамі або без іх. Пры гэтым каманды bat-файлаў пасля запуску будуць выконвацца паслядоўна адзін за адным, ужо без ўмяшання карыстальніка.
Пры знаходжанні каманднага файла ў іншым каталогу неабходна акрамя поўнага імя гэтага файла прапісаць поўны шлях да каталога яго захоўвання. Пашырэнне файла таксама можна не рэгістраваць. Напрыклад, бягучы каталог d:photowork, а камандны файл vera.bat, які трэба выканаць з параметрамі resize.doc і /p, знаходзіцца ў каталогу d:photohome. Тады для таго, каб ажыццявіўся запуск нашага файла, трэба прапісаць каманду d:photohomevera resize.doc /p або каманду ..homevera resize.doc /p.
Выкананыя пасля запуску каманды bat-файлаў можна перапыніць камбінацыямі кнопак <Ctrl>+<Break> і <Ctrl>+<C>. На дысплеі з'явіцца запыт на перапыненне выканання каманднага файла з запытам, якія чакаюць ўводу Yes або No. Калі ўвесці Y, то выкананне перапыніцца, а пакінуты спіс каманд bat-файла будзе праігнараваны. Калі ўведзяце сімвал N, то выкананне працягнецца з наступнай каманды з спісу.
Bat-файлы могуць утрымліваць у сабе спасылкі на выкананне іншых скрыптоў. Калі проста прапісаць у целе скрыпту bat-файл, каманды пасля яго ўжо выконвацца не будуць, так як кіраванне перадаецца на іншы батник і будуць выкананыя каманды ўжо з яго. Калі патрабуецца вяртанне пасля запуску ўнутранага файла, то яго можна выклікаць камандай CALL. Фармат каманды выглядае так: CALL імя-бат-файла [параметры запуску].
Параметрамі, якія перадаюцца выкліканаму каманднага файла (файлаў), звычайна з'яўляюцца сімвалы %1 - %9. Калі каманды bat-файлаў ўсе паслядоўна будуць пройдзены, працягнецца выкананне зыходнага скрыпту з наступнага радка.
Бываюць выпадкі, калі каманды bat-файлаў трэба выканаць пакрокава (з прыпынкам пасля кожнай радкі). Найбольш часта такі рэжым патрабуецца пры адладцы або тэставанні скрыптоў. Напісанне каманды выглядае так: COMMAND /y/c імя _скрипта [параметры].
Пры выкананні на кожную каманду будзе выдавацца запыт Y або N. Калі патрабуецца выкананне каманды — ціснем Enter або Y. Калі трэба прапусціць каманду — ціснем ESC або N.
Калі запускаецца bat-файл, каманды парадкова перад выкананнем адлюстроўваюцца на экране і пасля гэтага выконваюцца. Часам гэта выклікае нязручнасць, так як пры вялікім батнике каманды доўгім спісам прабягаюць перад карыстальнікам на экране, а часам патрабуецца іх паказ, напрыклад, для дыялогу або адладкі. Каб bat-файл выводзіў каманды на дысплей, прымяняецца каманда ECHO ON. Для адключэння гэтага рэжыму трэба ўвесці ECHO з параметрам OFF. Пры гэтым усе выкананыя далей каманды паказвацца на экране ўжо небудуць.
Для адключэння вываду толькі якой-небудзь адной радкі батника на экран можна выкарыстоўваць у самым пачатку гэтай радкі сімвал @. Часцей за ўсё гэты сімвал можна сустрэць у пары з камандай @ECHO OFF для выключэння вываду яе на дысплей манітора. Такі рэжым часта выкарыстоўваюць зламыснікі, ствараючы на аснове bat-файлаў вірусы ці дастаўляючы дробныя і буйныя непрыемнасці карыстальнікам кампутараў.
Калі пасля каманды ECHO будуць размешчаны сімвалы, адрозныя ад ON або OFF, то яны будуць выводзіцца на экран у любым рэжыме. Калі ECHO будзе без параметраў, то яна выдае на экран стан рэжыму адлюстравання выкананых каманд — уключаны або выключаны.
Пры жаданні можна прайграць нават гукавы сігнал (піск) кампутара, выкарыстоўваючы bat-файл. Каманды, прыклады якіх прыведзены далей, заснаваныя на аператары ECHO з даданнем спецыяльных знакаў.
Для прайгравання гукавога сігналу трэба вывесці стандартны сімвал з кодам 7. Зрабіць гэта можна, націснуўшы клавішу <разам> і «7» на лічбавай клавіятуры (з надпісам home).
Для таго каб павысіць чытальнасць паведамленняў можна ўжыць каманду ECHO з параметрам «.» (яна ставіцца адразу за камандай без прабелу) або адмысловым сімвалам з кодам 255. На экране гэта будзе выглядаць як пустая радок.
Каманду ECHO можна выкарыстоўваць для высновы паведамленняў у асобны файл. Сутнасць яе складаецца ў перанакіраванні вываду паведамленняў на запіс у файл, а не на экран манітора. Для захавання логаваў, анкетавання, запісы падзей можна выкарыстоўваць пакетныя файлы bat. Каманды вываду маюць наступны фармат:
- ECHO-паведамленне >> імя файла — каманда дадае радок у канец існуючага файла. Калі такога файла ў гэтай дырэкторыі няма, то ствараецца новы файл.
- ECHO-паведамленне > імя файла — гэтай камандай ствараецца новы файл, і ў яго запісваецца бягучая радок. У выпадку наяўнасці такога файла ў бягучай дырэкторыі, яго змесціва будзе выдаленае і запісаная каманда або яе вынік.
Для зручнасці рэдагавання скрыптоў выкарыстоўваецца каманда REM. Усе якія знаходзяцца пасля яе каманды bat-файлаў Windows ігнаруе пры выкананні. Іх можна ўбачыць пры рэдагаванні і пры пакрокавым рэжыме. Ва ўсіх іншых выпадках каментары на экран выводзіцца не будуць.
Часам падчас выканання батника ўзнікае неабходнасць часова спыніць выкананне каманд, напрыклад, для чакання рэакцыі карыстальніка, для павелічэння часу на прачытанне доўгага паведамлення, для ўстаўкі дыска, пацверджання прысутнасці карыстальніка або для адладкі пакетнага файла. Каманда затрымкі ў bat-файле пішацца як PAUSE без параметраў. Пры гэтым на дысплеі адлюструецца паведамленне тыпу «Націсніце любую клавішу для працягу», і выкананне скрыпту будзе прыпынена да націску кнопкі клавіятуры. Калі будзе націснутая камбінацыя <ctrl>+<break> ці <ctrl>+<c>, то сістэма ўспрыме гэта як завяршэнне працы выкананага файла і выдасць запыт на пацверджанне завяршэння яго працы: «Перапыніць выкананне каманднага файла? (Y/N)». Калі націснуць клавішу Y, то адбудзецца перапыненне працы скрыпту ў гэтым месцы і ўсе, што засталіся нявыкананыя каманды будуць праігнараваныя. Пры націску N выкананне будзе працягвацца з наступнай каманды. Пры паўзе націск любых іншых літарна-лічбавых клавіш, а таксама «Прабел» і «Ўвод» выкананне выкананага файла будзе працягвацца з наступнай каманды.
Для паслядоўнага выканання некалькіх файлаў з спісу, якія знаходзяцца ў адной дырэкторыі, таксама можна выкарыстоўваць bat-файл. Каманды «запуск праграмы па назве» і «запуск праграмы па пашырэнні файла» часта могуць дапамагчы з аўтаматызацыяй апрацоўкі дакументаў, напрыклад сартаванне пошты укладанняў. Адрозніваюцца яны параметрамі для каманды FOR. Фармат напісання яе прыведзены ніжэй:
- FOR %x IN (спіс файлаў) DO каманда, дзе:
- х - любы сімвал, за выключэннем лічбаў ад 0 да 9;
- спіс — падзеленыя прабеламі імёны файлаў або назва аднаго файла; пры гэтым можна выкарыстоўваць спецзнакі «?» і «*» для замены ад аднаго да некалькіх знакаў у назве файлаў;
- каманда — любая DOS-каманда ці праграма, акрамя FOR; калі ёсць неабходнасць выкарыстання FOR, то замест %x трэба пазначыць %%x.
Пры выкарыстанні гэтай каманды для напісання bat-файлаў трэба ўлічваць, што імёны ў праграмах фармату DOS маюць абмежаванне па даўжыні назвы. Для таго каб вырабіць пераключэнне каманды FOR на працу з доўгімі імёнамі файлаў, трэба не забыцца перад ёйзапусціць каманду LFNFOR ON для ўключэння рэжыму працы з доўгімі імёнамі і LFNFOR OFF для яго адключэння і вяртання да стандартнай даўжыні файлаў.
Многія функцыі з праграмамі, такія як параўнанне файлаў з пэўнымі тыпамі пашырэнняў, якія знаходзяцца ў адной дырэкторыі, з файламі тых жа тыпаў з іншай дырэкторыі, капіраванне ўсіх файлаў бягучага каталога ў іншы, паслядоўнае выкананне файлаў з пашырэннямі пэўнага тыпу і назвамі, якія пачынаюцца з лічбаў, можна ажыццявіць з дапамогай ўсяго толькі адной упісанай у bat-файл каманды. Запуск праграмы можна камбінаваць з запытамі карыстальніка, што спрыяе павышэнню выгоды працы з дадзенымі.
Для зручнасці кіравання парадкам запуску каманд у bat-файлах ў іх часта выкарыстоўваюць каманды пераходаў і пазнакі, па якіх гэтыя пераходы ажыццяўляюцца.
Пазнака ўяўляе сабой любую радок выкананага файла, якая пачынаецца з сімвала «двукроп'е». Імя пазнакі — гэта набор знакаў пасля двукроп'я да канца радка або да першага прабелу, пасля якога рэшту радка ігнаруецца, што можна выкарыстоўваць як каментар да пазнакі пераходу.
Каманда пераходу мае напісанне GOTO з назвай пазнакі праз прабел. Калі параметру няма або назва пазнакі ў камандным файле не выяўлена, то праца скрыпту на гэтай камандзе спыняецца. Прыклад:
GOTO zzz
…
:zzz
REM (запускаюцца патрабаваныя каманды).
У гэтым прыкладзе паслядоўнае выкананне каманднага файла, дайшоўшы да GOTO zzz, пераходзіць на пазнаку :zzz і працягваецца з REM, ігнаруючы ўсе, што знаходзіцца паміж камандай пераходу і названай пазнакай.
Bat-файл можа выконваць або не выконваць каманды ў залежнасці ад розных умоў, калі ў ім ўжываецца праверка наступлення падзеі IF. Фармат гэтай каманды выглядае як «IF ўмова каманда».
Ўмова ўяўляе сабой розныя варыянты выразаў:
- ERRORLEVEL лік — у тым выпадку, калі папярэдняя выкананая праграма скончылася з кодам завяршэння, роўным паказаным лікавага значэння або больш яго, ўмова будзе сапраўдным.
- РАДОК 1 == РАДОК 2 - у выпадку поўнага супадзення радкоў ўмова становіцца сапраўдным. Замест радкоў можна падставіць сімвалы %0 - %9, тады будуць параўноўвацца параметры каманднага файла.
- EXIST - імя файла - калі правераны файл існуе, то ўмова сапраўднае.
- NOT - ўмова — калі паказанае ўмова ілжывае, то на выхадзе каманды атрымаем сапраўднае значэнне.
Калі націснуць кнопку "Пуск" і запусціць камандную радок (cmd), то можна паглядзець усе устаўляемыя ў bat-файл каманды. CMD-рэжым можна выкарыстоўваць як сродак для адладкі, як памочніка, праграму для атрымання звестак аб камандах. Для гэтага можна проста набраць HELP. Пры гэтым выдаецца спіс каманд з кароткімі апісаннямі да іх. Для атрымання больш дэталёвай інфармацыі можна ўвесці HELP з назвай патрэбнай каманды.
Камандныя файлы моцна спрашчаюць жыццё сістэмным адміністратарам пры ажыццяўленні паўсядзённай працы. Найбольш распаўсюджанай сферай іх прымянення з'яўляюцца рэзервовае капіраванне, стварэнне, выдаленне, перайменаванне і многае іншае. Усе гэта заснавана на выкарыстанні каманды bat-файла COPY. Да прыкладу, можна стварыць праграму, якая робіць архіўныя копіі дакументаў з абранай тэчкі з карыстацкімі дадзенымі пэўных фарматаў, выключыўшы, дапусцім, медыяфайлы вялікага аб'ёму, забяспечыўшы рэзерваванне ў тэчцы з імем карыстальніка і бягучай датай, і назваць яе "Команда_копирования_файлов.bat". Пасля гэтага неабходна забяспечыць яе запуск у пэўны час з дапамогай убудаванага планавальніка або сіламі самой праграмы і тым самым забяспечыць захаванасць дадзеных карыстальніка.
Article in other languages:
DE: https://tostpost.com/de/computer/35189-team-bat-dateien-windows.html
ES: https://tostpost.com/es/equipos/35416-el-comando-bat-archivos-windows.html
HI: https://tostpost.com/hi/computers/19245-bat-windows.html
KK: https://tostpost.com/kk/komp-yuterler/34306-komanda-bat-fayl-windows.html
PL: https://tostpost.com/pl/komputery/32764-dru-yny-bat-plik-w-windows.html
PT: https://tostpost.com/pt/computadores/33058-o-comando-batch-de-arquivos-windows.html
UK: https://tostpost.com/uk/komp-yuteri/33984-komandi-bat-fayl-v-windows.html
Alin Trodden - аўтар артыкула, рэдактар
"Прывітанне, Я Алін Тродден. Я пішу тэксты, чытаю кнігі і шукаю ўражанні. І я нядрэнна ўмею распавядаць вам пра гэта. Я заўсёды рады ўдзельнічаць у цікавых праектах."
Навіны
Матчын поплатак Foxconn: параметры і водгукі
Дадзены агляд будзе прысвечаны цалкам і цалкам такому кампутарнаму кампаненту, як матчын поплатак Foxconn мадэлі N15235. Менавіта на прыкладзе гэтага камплектавалага будуць прыведзены моцныя і слабыя бакі прадукцыі дадзенага вытво...
Як зварыць зелле нябачнасці ў "Майнкрафт"? Становімся чалавекам-нябачнікам.
Калі вы дасведчаны майнкрафтер, то вас, напэўна, даўно цікавіць магчымасць стаць нябачнікам. Як вы павінны разумець, гэта дае шэраг пераваг, якія нельга недаацэньваць. Як зварыць зелле нябачнасці ў "Майнкрафт"? Для гэтага нам спат...
Падрабязна пра тое, як у «ГТА-5» памяняць асноўную машыну
Сёння мы прывядзем некалькі варыянтаў вырашэння пытання аб тым, як у «ГТА-5» памяняць асноўную машыну. Дадзены праект парадаваў многіх прыхільнікаў незвычайным гульнявым працэсам, унікальнымі здольнасцямі персанажаў, а...
Бос "Мафія 2" - Карла Фальконе. Апісанне персанажа і праходжанне квэста
«Мафія 2» стала сапраўдным бэстсэлерам у свеце прыгод пра бандыцкіх разборках і сіцылійскіх мафіёзі. Бо тут ёсць усе атрыбуты паспяховай гульні: цікавы сюжэт, зручны геймплэй і выдатная графіка, а таксама непараўнальна...
Падрабязна аб тым, як паглядзець падпісчыкаў на «Аск»
Калі вы з'яўляецеся карыстальнікам знакамітага сэрвісу пытанняў і адказаў, тады вы напэўна задаваліся пытаннем аб тым, як паглядзець падпісчыкаў на «Аск». На жаль, распрацоўшчыкі гэтай папулярнай сістэмы не прадугледзе...
Hypertext Transfer Protocol (або HTTP) з'яўляецца асновай перадачы дадзеных для World Wide Web. Такія пратаколы ўяўляюць сабой структураваны тэкст, які выкарыстоўвае лагічныя сувязі (гіперспасылкі) паміж вузламі, якія змяшчаюць пэ...
Заўвага (0)
Гэтая артыкул не мае каментароў, будзьце першым!