Paano lumikha ng isang BAT file sa Windows: sunud-sunod na paglalarawan, mga rekomendasyon. Paglikha ng BAT file

Alam ng mga taong pamilyar sa terminong batch file na ang mga BAT file ay maaaring makabuluhang pasimplehin ang buhay at makatipid ng oras kung alam mo kung paano isulat at gamitin ang mga ito nang tama. Sa artikulong ito, pag-uusapan ko kung paano lumikha ng mga file ng BAT at ipakilala sa iyo ang mga karaniwang pagkakamali na kadalasang nangyayari kapag isinusulat ang mga ito.

Ang paglikha ng isang BAT file ay napaka-simple. Buksan lamang ang Notepad at mag-save ng blangkong sheet na may extension na .bat, piliin ang opsyon na I-save bilang... at isulat sa field ng Pangalan ng file ang isang bagay na nagtatapos sa .bat, halimbawa test.bat.
Tukuyin ang uri ng file tulad ng sa screenshot sa ibaba - Lahat ng mga file. I-save at tumanggap ng BAT file.

Maaari mong i-edit ang BAT file sa Notepad o anumang iba pang text editor na nakatuon sa pagtatrabaho sa code.

Ngayon ay direktang lumipat tayo sa praktikal na impormasyon. Maraming tao sa Internet ang naghahanap ng sagot sa tanong na: Paano haharapin ang mga puwang sa mga file ng BAT? . Sa mga path sa mga folder at executable na file, ang pagkakaroon ng espasyo ay nagdudulot ng error. Ang pinakakaraniwang sagot ay: Ilakip ang landas sa mga panipi. At ang sagot na ito ay hindi tama. Totoo, ang ilan ay bumubula sa bibig at sinasabing gumagana ito. Kaya, dalawang bakit lumitaw - kung bakit ito ay hindi totoo at kung bakit ang ilan ay magiging.

Sa Windows (pati na rin sa UNIX), ang mga program na naka-install sa system ay nakarehistro nang naaayon sa system. Samakatuwid ang ilan sa naka-install na mga programa maaaring ilunsad gamit ang isang simpleng command mula sa isang BAT file o mula sa Run applet sa Start panel. Ang isang naturang programa ay ang Firefox:

simulan ang firefox

Kung pagkatapos ng utos na ito ay isulat mo ang landas sa maipapatupad na file, pagkatapos ay mangyayari ang sumusunod: magsisimula ang browser ng Firefox at sinusubukang iproseso ang kahilingan, iyon ay, ang file na tinukoy ang landas. Iyon ay, kung tinukoy mo ang sumusunod:

simulan ang firefox C:\Program Files\Mozilla Firefox\firefox.exe

Magbubukas ang browser, anuman ang sabihin nito pagkatapos simulan ang firefox . Kaya naman titiyakin ng ilang kasama na gumagana nang maayos ang lahat. Gayunpaman, kung kukuha ka ng isang portable na programa, ang sitwasyon ay magiging ganap na naiiba. Kunin natin ang Filezilla ftp client bilang isang halimbawa. Dahil hindi alam ng system ang tungkol sa programa, ang linya sa itaas

simulan ang filezilla

hindi gagana. Upang simulan ito hindi alam ng sistema program, kailangan mong tukuyin ang landas dito:

simulan ang D:\FileZilla\FileZilla.exe

Mahabang pangalan sa bat files

Ngayon pag-usapan natin ang mga landas at espasyo. Ang unang paraan upang maiwasan ang problemang ito ay ang paggamit ng maikling pangalan.

simulan ang C:\Program Files\Sound Club\scw.exe

Sa halimbawa mayroong dalawang pangalan na may mga puwang. Palitan natin sila ng maikli. Ang mga patakaran para sa paglikha ng mga maikling pangalan ay ang mga sumusunod: ang maikling pangalan ay gumagamit ng unang anim na character ng pangalan, hindi kasama ang mga puwang, pagkatapos ng pangalan ang serial number ng folder ay ipinahiwatig gamit ang simbolo ~ . Dahil ang Program Files at Sound Club folder ay nasa aking isahan, makukuha mo ang sumusunod:

Mga File ng Programa - Progra~1 Sound Club - SoundC~1 simulan ang C:\Progra~1 \SoundC~1 \scw.exe

Kung mayroong dalawang folder sa malapit, halimbawa Sound Club at Sound Clown, pagkatapos ay sumusunod sa mga patakaran, sa halimbawa sa itaas ay kakailanganin mong tukuyin ang SoundC~2, dahil sa kasong ito, ang Sound Club ang magiging pangalawang pangalan (ang mga pangalan ay binibilang sa alpabetikong order).

Ngunit ang pamamaraang ito ay hindi maginhawa dahil kailangan mong ipahiwatig ang mga serial number. Ang sitwasyon sa mga file ng Programa ay higit o mas normal. Ilang tao ang makakahanap ng dalawang magkatulad na folder sa system drive. Ngunit kung magpasya kang mag-install ng maraming produkto ng Mozilla sa iyong computer. Magkakaroon ka ng ilang mga folder, halimbawa:

Mozilla Firefox Mozilla Thunderbird Mozilla Sunbird

Ang mga maikling pangalan para sa kanila ay magiging

Mozill~1 Mozill~2 Mozill~3

Ngayon isipin na nagsulat ka ng isang BAT file na binabanggit ang mga program na ito. Kung i-uninstall mo ang Firefox, hindi na gagana ang natitirang mga entry, at kung i-uninstall mo ang Thunderbird, hindi na gagana ang entry para sa Sunbird. Sa madaling salita, ang pamamaraan na may maikling mga pangalan ay hindi ang aming paraan.

Mga puwang at quote sa mga bat file

Ang mga quote ay talagang gumagana, ngunit hindi sa mga paraan na karaniwang pinapayuhan. Karaniwang pinapayuhan ang mga sumusunod:

simulan ang "C:\Program Files\Sound Club\scw.exe"

Kaya't ang utos ay hindi gagana, dahil kung titingnan mo ang tulong para dito (simulan /? ), pagkatapos ay sa tulong makikita mo ang sumusunod:

START ["header"] [command/program] [parameters]

Tulad ng nakikita mo, ang unang parameter ay ang pamagat ng window at ito ay nasa mga panipi. Opsyonal ang parameter na ito, ngunit inirerekomenda pa rin na tukuyin ito () upang maiwasan ang mga error kapag isinasagawa ang utos. Hindi mo kailangang magsulat ng kahit ano sa loob ng mga quote. Ito ay magiging ganito:

simulan ang "" "C:\Program Files\Sound Club\scw.exe"

Ang opsyon na ilakip ang lahat ng mga pangalan na may mga puwang nang hiwalay sa mga quote ay gagana rin:

simulan ang C:\"Program Files"\"Sound Club"\scw.exe

Gayunpaman, sa ilang mga kaso, wala sa itaas ang gumagana. Sa ganitong mga kaso, maaari kong irekomenda ang paggamit ng cd command. Pumunta sa partition ng system, pagkatapos ay gamitin ang cd sa folder ng Program Files at patakbuhin ang program (simulan):

%SystemDrive% cd \Program Files\Sound Club\ simulan ang scw.exe

Sa tingin ko ang pamamaraang ito ay gagana sa lahat ng dako. Ngayon isang pares pa mahahalagang puntos. Sabihin nating nakagawa ka ng batch file na naglulunsad ng tatlong program at kailangan mong pansamantalang ibukod ang paglulunsad ng isa sa tatlo. Magagawa ito sa pamamagitan ng pagtanggal ng linya o pagkomento dito. Ang unang paraan ay vandal, at ang pangalawa, tingnan sa ibaba.

simulan ang firefox simulan ang jetaudio rem simulan ang defraggler

Sa kasong ito, ang paglulunsad ng Defraggler.exe program na naka-install sa system ay hindi pinagana. Magkomento ng mga linya sa pamamagitan ng pagtukoy sa rem command sa simula ng linya. Ang lahat ng BAT file ay isinasagawa sa isang console window. Upang mawala ito kapag nakumpleto na ang mga utos, huwag kalimutang isulat ang exit command sa dulo.

simulan ang firefox simulan ang jetaudio rem simulan ang defragler exit

Paglulunsad ng mga application mula sa isang bat file

Sa unang bahagi ng artikulo I pangkalahatang balangkas napag-usapan ang tungkol sa mga file ng BAT. Ngayon ay naging malinaw kung ano ito at kung ano ang kinakain nito. Sa ikalawang bahagi ay pag-uusapan natin ang mga mas tiyak na bagay. Halimbawa, kung paano gumamit ng BAT file para maglunsad ng ilang application na may ilang partikular na setting o awtomatikong mag-install ng program para hindi mag-aksaya ng oras sa mga sagot tulad ng Sumasang-ayon ka ba sa mga tuntunin ng kasunduan sa lisensya? at huwag pindutin ang mga hindi kinakailangang pindutan.

Ang ilang mga paraan upang ilunsad ang mga application gamit ang isang BAT file ay nakabalangkas sa itaas. Ang pinakaunang isa ay isang maikling utos upang ilunsad ang program na naka-install sa system.

simulan ang firefox

Ito ay hindi palaging gumagana. Samakatuwid, ang pamamaraan na ito ay maaaring mailapat sa ilan tiyak na sistema, ngunit hindi ito angkop bilang isang unibersal na solusyon. Kung ang iyong layunin ay gawing gumagana ang BAT file sa lahat ng dako at palagi, kailangan mong gumamit ng mga buong path:

simulan ang C:\"Program Files"\"Mozilla Firefox"\firefox.exe

Napansin ko rin na ang BAT file ay dapat maglaman ng isang command upang makumpleto:

simulan ang C:\"Program Files"\"Mozilla Firefox"\firefox.exe exit

Pagpapatakbo ng mga programa sa mga bat file na may mga parameter (mga key)

Hindi mo lamang maaaring patakbuhin ang programa, ngunit bigyan din ito ng mga karagdagang utos kapag sinimulan ito. Halimbawa, ang command na tumakbo ay pinaliit:

simulan ang /min D:\FileZilla\FileZilla.exe exit

Upang mag-utos sa kasong ito ay nangangahulugang ipahiwatig ang susi. Ang susi ay ipinahiwatig ng isang slash pagkatapos ng pangunahing utos (utos / susi). Ang pangunahing utos sa kasong ito ay simulan. Totoo, ang min key ay gumagana lamang sa kalahati ng mga kaso, dahil partikular na nauugnay ito sa start command, at hindi sa mga program na inilulunsad ng command na ito.

Sa pangkalahatan, maraming susi at hanay ng mga susi iba't ibang programa maaaring mag-iba nang malaki. Gayunpaman, mayroong ilang mga karaniwan. Halimbawa, ang help key (/? o /help). Upang makita kung paano gumagana ang key na ito, tingnan natin ang isang praktikal na halimbawa. Buksan ang console (I-click + R , ipasok ang cmd , pagkatapos ay Enter ) at i-type ang sumusunod sa console:

simulan /?

Magpapakita ang console ng listahan ng mga wastong key na may mga komento para sa start command.

Bigyang-pansin ang switch ng /wait. Sa ilang mga kaso, ito ay simpleng hindi mapapalitan. Halimbawa, nagpasya kang gumamit ng BAT file upang i-unpack ang archive kasama ang program at patakbuhin ang mismong program na ito. Maglalaman ang batch file ng dalawang command - para sa pag-unpack at para sa paglulunsad. Dahil halos sabay-sabay na isasagawa ang mga utos kapag pinapatakbo ang BAT file, ang archive ay hindi magkakaroon ng oras upang i-unpack at walang tatakbo. Samakatuwid magkakaroon ng error. Sa kasong ito, ang susi ay darating upang iligtas /maghintay:

Kaya, gagawin muna ng system ang unang aksyon, hintayin itong makumpleto, at pagkatapos ay magpapatuloy sa pangalawa. Kung kailangan mong maghintay ng isang tiyak na tagal ng panahon, mas madaling gumamit ng console utility. Sa tamang lugar sa BAT file, isulat ang sumusunod na command (ang numero ay ang bilang ng mga segundo):

simulan ang Sleep.exe 15

Marami kang magagawa gamit ang mga susi. Posibleng mag-install ng mga application. Upang gawin ito, maraming mga susi ang ginagamit depende sa uri ng installer na ginamit upang i-install ang program sa computer:

/S /s /q /silent at marami pang iba

Sa ilang mga kaso maaari itong maging napaka-maginhawa. Ang Avast antivirus ay may tahimik na opsyon sa pag-install sa corporate na bersyon. Ang libreng (home) na bersyon diumano ay walang tahimik na pag-install. Gayunpaman, kung alam mo kung paano gumagana ang InstallShield installer, mauunawaan mo na ito ay isang canard, dahil ang installer na ito mismo ay sumusuporta sa /S silent installation switch. Nangangahulugan ito na ang lahat ng mga produktong ginawa sa batayan nito ay gumagawa ng pareho. At ang Avast ay walang pagbubukod. Gumawa lamang ng isang file na may mga nilalaman sa folder gamit ang BAT ng Avast

simulan ang avast.exe /S exit

ilulunsad mo ito at ang program ay naka-install sa iyong computer na halos walang input mula sa iyo. Sa ganitong paraan maaari kang magsulat ng isang buong listahan ng mga programa para sa tahimik na pag-install at makatipid ng oras, halimbawa, sa muling pag-install ng system. Sa artikulo maaari kang makakuha ng higit pa Detalyadong impormasyon sa pamamagitan ng mga susi.

Mayroong iba pang mga opsyon para sa pamamahala ng mga programa gamit ang mga BAT file. Maaari kang magsimula ng isang programa sa pamamagitan ng pagsasabi dito na magbukas ng file sa pagsisimula. Ginagamit ko ang pamamaraang ito kapag gumagawa ng mga website. Ito ay napaka-maginhawa kapag ang lahat ng iyong mga tool ay nakabukas mga kinakailangang dokumento at mga folder sa isang click lang:

rem koneksyon sa ftp server simulan /min D:\FileZilla\FileZilla.exe "ftp://login:password@server" rem opening index.php sa Firefox simulan ang C:\"program files"\"mozilla firefox"\firefox.exe "http://localhost/site_folder/index.php" rem opening start.html sa isang text editor simulan ang /min C:\"Program Files"\text_editor.exe "E:\server\site_folder\index.html" rem pagbubukas ng folder na may mga file ng site simulan /min E:\server\site_folder paglabas ng rem console labasan

Tandaan ko na ang lahat ng mga pamamaraan na inilarawan sa itaas ay maaaring gamitin sa iba't ibang mga kumbinasyon at kumbinasyon.

simulan /min /wait program.exe /m /S simulan C:\Directory\program2.exe "C:\Files\file.odt" exit

Ngunit mahalagang tandaan: ang lahat ng nauugnay sa pagpapatupad ng programa na inilunsad sa batch file ay nakasulat kasama nito sa parehong linya.

simulan ang C:\"program files"\"mozilla firefox"\firefox.exe "http://localhost/site_folder/index.php"

Bilang isang epilogue, iaalok ko para sa iyong pagsusuri ang converter ng mga BAT file sa mga application sa format na .exe - . Ang isang BAT file ay hindi palaging aesthetically kasiya-siya, ngunit sa tulong ng isang converter maaari kang mag-pack ng isang batch file sa isang exe file, pinalamutian ito ng anumang icon na iyong pinili.

Nakatagpo ako ng isa pang BAT to EXE converter, maaari mo itong isaalang-alang bilang isang alternatibo sa nakaraang programa: Advanced Bat To Exe Converter

Ang BAT file ay isang program code na naka-save na may extension na .bat o .CMD ayon sa gusto mo.

Ang mga posibilidad ng mga file ng bat ay halos walang limitasyon, ngunit bilang isang panuntunan, ginagamit ng mga programmer ang mga extension na ito sa simple at karaniwang mga bagay.

Gamit ang isang bat file, maaari kang magbukas ng mga file sa iyong computer, kopyahin, ilipat at tanggalin ang mga file na may o walang mask, magpatakbo ng mga script mula sa mga third-party na program, at magbukas ng browser na may nais na url. Madalas kong ginagamit ang mga ganoong file upang magbukas ng mga ftp folder sa isang malayong server.

Paano lumikha ng isang bat file

Hindi magiging madali ang paggawa ng mga baht file. Magbukas ng regular na text editor at i-save ito gamit ang .bat na extension.

Maaari mo ring gamitin ang advanced na programa na "notepad++"

Narito ang isang sample na code para magsulat ng bat file:

explorer.exe "C:\Program Files"

Bubuksan ng code na ito ang folder na "mga file ng programa" sa C:\ drive

Ang pagsulat ng mga .bat na file ay nangangailangan ng espesyal na pangangalaga mula sa gumagamit ng computer. Dahil ang mga batch file ay maaaring magtanggal ng buong mga direktoryo, mag-format ng partition ng computer

Narito ang isang halimbawa ng code - pag-format ng F:\ partition

@echo off
format F /q /autotest

Halimbawa ng bat code - Lumikha ng 100 folder:

@echo off
para sa /l %%i sa (1,1,100) gawin mkdir "dir %%i"

Maaari kang gumawa ng bat at (Virus) isang mapaminsalang script ng programa: Halimbawa, ang code sa ibaba ay magde-delete ng mahahalagang exe file.

@echo off
gawin ang "c:\windows\explorer.exe"
gawin ang "c:\windows\mspoint.exe"
gawin ang "c:\windows\notepad.exe"

Command na gumawa ng folder na may bat file

Ang code sa ibaba ay lilikha ng 3 folder sa lokasyon kung saan matatagpuan ang mismong file. Gayundin, ang unang folder na ginawa ay maglalaman ng isa pang subfolder. Dahil ang mga pangalan ng folder ay nakasulat sa Cyrillic, idinagdag namin ang linya ng pag-encode chcp 1251. Ang nasabing file ay hindi maaaring isulat sa isang regular na notepad, dahil hindi posible na baguhin ang pag-encode ng mga letrang Ruso. Gumamit ng notepad++.

chcp 1251
MD .\folder_article\base\
MD .\directory\
MD .\repository\

I-download ang Bat file

- lumilikha ang file ng 3 folder

Halimbawa ng bat code kung paano magbukas ng folder

explorer.exe "C:\Users\Administrator\Desktop\photo\"

Paano buksan ang format ng bat?

Tulad ng paggawa ng mga .bat na file sa isang text editor, mabubuksan ang mga ito gamit ang parehong notepad, wordpad, o notepad++.

Ang tanging bagay na dapat tandaan kapag binubuksan ang isang bat file ay kapag nag-double click ka sa file, ilulunsad nito ang programa. Iyon ay, upang buksan ito para sa pag-edit, ilipat ang cursor sa ibabaw ng file na ini-edit at i-right-click upang buksan ang menu ng konteksto kung saan piliin ang bukas gamit ang notepad++

Gayundin, kung nag-click ka sa buksan lamang sa menu ng konteksto, sisimulan mo ring i-execute ang bat file.

May isa pang paraan: Buksan ang text editor na Notepad at i-drag ang iyong na-edit na file papunta dito.

Mahalaga: Kadalasang nalilito ng mga user ang mga konsepto ng mga file gamit ang .bat na extension at ang "The Bat" mail client para sa pagpapadala at pagtanggap ng mga dokumento sa mail.

Pangunahing Bat File Operator

@ Ang lahat ng mga utos na isinagawa ng paniki ay ipinapakita sa screen, upang alisin ang mga hindi kinakailangang bagay, isang "aso" ang inilalagay sa harap ng utos. Madalas na ginagamit sa @echo off.
itakda Nagtatakda ng mga variable. Halimbawa, setper=c:\windows here per assign ang path. Maaari kang magsulat ng masalimuot na halaga sa isang variable at tukuyin ito sa script, na ginagawang mas compact ang code. Kung nagbabago ang nilalaman nito, hindi mo na kailangang baguhin ang mga halaga saanman kung saan ibinigay ang variable na ito.
:: Isa sa dalawang paraan para sa pagkomento sa isang bat file nang hindi ipinapakita ang linyang ito sa screen.
:LABEL Kapag nagdagdag ka ng colon sa isang salita, gagawa ng label na nagbibigay-daan sa iyong lumipat sa iba't ibang seksyon ng body file. Ang isang label ay maaaring magkaroon ng ibang pangalan, ang LABEL ay isang halimbawa.
TAWAG Ang Bat ay isang command na tumatawag sa isang batch file sa loob ng isa pa. Ang lahat ng mga parameter na inilarawan sa isa sa mga file ay maaaring maipasa sa isa't isa.
PAGPILI Piliin ang command.
CLS Nililinis ang mga nilalaman ng shell na ipinapakita sa itaas ng CLS.
ECHO Nagpapakita ng mensahe sa screen. Halimbawa, "ECHO Kumusta ka!" ay magpapakita ng "Kumusta ka!" Kung hindi mo gagamitin ang @ECHO off sa simula ng batch file, makikita mo ang path sa bat file at dalawang mensahe, na hindi kailangan. Maaari kang lumikha ng isang walang laman na linya sa pamamagitan ng pag-type ng ECHO. na may tuldok sa dulo.
EXIT Tinatapos ang kasalukuyang batch script.
GOTO LABEL Ginagamit upang tumalon sa isang partikular na label, sa kasong ito LABEL, at isagawa ang script pagkatapos nito.
KUNG Tulad ng sa mga bat programming language, ang if command ay kumakatawan sa katuparan ng isang kundisyon, depende kung saan ang script ay pupunta sa isang landas o iba pa. Mangyaring sumangguni sa tulong para sa syntax.
para sa Isang loop na ginagamit upang ayusin ang pagpapatupad ng parehong mga aksyon.
PAUSE Kung kailangan mong makita ang output ng isang script at tumatakbo ito at mabilis na nagsasara ang window, pagkatapos ay gamitin ang PAUSE. Papayagan ka nitong tingnan ang resulta at kumpletuhin ang script sa pamamagitan ng pagpindot sa anumang pindutan.
R.E.M. Pangalawang paraan ng komento. Hindi tulad ng:: ay naka-print sa screen kung walang @ECHO off construct.
SHIFT Binabago ang posisyon ng mga parameter ng batch sa bat file.
MAGSIMULA Naglulunsad ng mga programa, bintana, atbp. Mayroong maraming mga katangian.

Para sa mas detalyadong paglalarawan ng bat file code, basahin ang Windows Help

Ang mga user na madalas na nagtatrabaho sa command line ng Windows at pana-panahong nagsasagawa ng parehong uri ng mga aksyon ay gumagamit ng mga script file o bat file sa kanilang trabaho. Siyempre, ito ay nangangailangan ng hindi bababa sa isang mababaw na kaalaman sa mga command line command at ang syntax para sa pagsulat ng mga ito. Sa pagsasalita tungkol sa command line, maraming tao ang hindi napagtanto kung gaano kalawak ang mga kakayahan nito, at kapag gumagamit ng mga bat file, ang mga kakayahan ng gumagamit ay maaari ding mapalawak nang malaki.

Ano ang mga bat file?

Ang mga bat file o "batniks" ay tinatawag na dahil sa kanilang resolution (BAT). Ang mga bat file ay mahalagang mga text file na naglalaman ng isa hanggang ilang linya ng command line code. Ang paglulunsad ng mga BAT file ay ginagawa sa pamamagitan lamang ng pag-double click dito. Ang mga utos na nakasulat dito ay isasagawa nang sunud-sunod, at lilitaw ang isang window ng command line. Kapag nakumpleto na ang mga utos, magsasara ang window ng Command Prompt. Maaaring napansin mo kung paano gumagana ang mga file kapag nag-i-install ng mga laro at application. Sa ganitong mga bintana, ang mga naka-compress na archive ay madalas na na-unpack at ang porsyento ng pag-unpack ay ipinapakita. Kung ang batch file ay naglalaman lamang ng ilang simpleng command, maaaring lumitaw ang command line window sa loob lamang ng ilang millisecond at mawala sa screen.

Kung kailangan ng user na magpasok ng impormasyon o kumpirmahin ang isang aksyon, ang command line window ay hindi mawawala, at ang proseso ng pagpapatupad ng command ay sinuspinde hanggang sa maipasok ng user ang naaangkop na data.

Ang "Batch file", tulad ng anumang iba pang executable na file, ay maaaring idagdag sa startup o gamitin sa task scheduler, na makabuluhang nagpapalawak ng mga kakayahan at saklaw nito.

Paano lumikha ng mga file ng bat?

Sabihin nating kailangan mong lumikha ng "batch file" na maglulunsad ng ilang partikular na programa sa isang naibigay na pagkakasunud-sunod. Kasabay nito, upang hindi lumikha ng ilang mga shortcut sa desktop at ilunsad ang bawat isa sa kanila gamit ang mouse, ito ay maginhawa upang lumikha ng isang solong bat file at ilunsad ito, at ito naman, ay ilulunsad ang lahat ng mga application na iyon.
Upang lumikha ng isang bat file kakailanganin mo ng isang simpleng text editor, ayon sa kaugalian sa Windows system gumamit ng Notepad. Maglunsad ng text editor at magpasok ng ilang linya na tumutugma sa syntax ng mga command line command.

Halimbawa, upang ilunsad ang mga application:

simulan ang pag-explore
simulan ang calc
simulan ang iexplore

Pagkatapos ay i-save ang file na ito sa Desktop na may pangalan na malinaw sa iyo, halimbawa "Ilunsad ang prog". Ang extension ng naka-save na file ay dapat mabago mula sa TXT patungong BAT. Kung hindi ipinapakita ang iyong extension ng file, kailangan mong paganahin ang pagpapakita ng mga extension ng file. Magagawa ito sa mga setting ng folder sa pamamagitan ng Control Panel o sa Explorer mismo. Pagkatapos mong baguhin ang extension, gawin ang isang test run ng naka-save na file. Kapag pinatakbo mo ang halimbawa sa itaas, tatlong program ang ilulunsad nang sabay-sabay: Explorer, Calculator at Internet Explore.

Ito ang pinakasimpleng halimbawa na maaaring ipatupad gamit ang isang batch file. Sa karamihan ng mga kaso, ang mas kumplikadong mga script ay ginagamit hindi lamang upang ilunsad ang mga application, kundi pati na rin upang maisagawa ang mga setting ng system at program at marami pa.

Habang sinusubukan ang pagpapatakbo ng iyong batch file, maaari kang makatagpo ng mga error sa pagpapatakbo o ang ilang command ay hindi isasagawa, ngunit upang makita kung anong yugto ang naganap na error, kailangan mong tiyakin na ang command execution window ay hindi mawawala. Ito ay maaaring gawin nang napakasimple. Sa dulo ng iyong code, ipasok ang linyang PAUSE. Ang pagpapatakbo ng command na ito ay magbibigay-daan sa user na makita ang command prompt window kahit na matapos ang lahat ng command. Sa kasong ito, posible na mag-scroll sa pagkakasunud-sunod ng mga naisagawa na mga utos at mga mensahe ng programa kung ang mga error ay nangyari sa pagpapatupad ng isa sa mga utos. Ang pagpindot sa anumang key ay nagiging sanhi ng pagsara ng Command Prompt window. Ang pagkakaroon ng nakitang error sa syntax, maaari mo itong itama at pagkatapos ay alisin ang linya ng PAUSE mula sa bat file at sa wakas ay suriin ang katatagan ng iyong bat file.

Ang paggamit ng mga bat file (kung hindi man kilala bilang "batnik", "batch file") ay kadalasang maaaring gawing mas madali ang iyong trabaho, halimbawa, i-automate ang pag-install software, ayon sa paunang natukoy na mga parameter; pag-synchronize ng petsa at oras; pagpapatakbo ng mga pagkakasunud-sunod ng command, atbp. Gayunpaman, upang magamit ang mga naturang script kailangan mong magawa ang mga ito. Sa kanilang core, ang mga file na may extension na .bat ay isang set mga utos ng console, kapareho ng mga ginamit sa command line.

Tinatalakay ng artikulo ang tatlong paraan para sa paggawa ng mga .bat na file:

  1. Gamit ang command line.
  2. Gamit ang programang Notepad.
  3. Gamit ang utility na "Dr.Batcher".

Hakbang 1. Upang ilunsad ang command line sa menu na "Start", gamitin ang dialog na "Search programs and files." Dapat mong itakda ang parameter ng paghahanap ng cmd at mag-left-click sa icon sa seksyong "Mga Programa".

Hakbang 2. Inirerekomenda na gumamit ng isang hiwalay na direktoryo upang mag-imbak ng mga nakasulat na batch file, kaya pumili ng isang lokasyon sa iyong hard drive at lumikha ng isang espesyal na folder sa pamamagitan ng pagpasok ng command na "MD D:\Bat".

Sa isang tala! Ang utos ay ipinasok nang walang mga panipi, ang isang puwang ay idinagdag lamang pagkatapos gamitinM.D. Sa kasong ito, isang folder na pinangalanan « Bat"ay malilikha sa diskD. Ang command line ay case insensitive, iyon ay, ang resulta ng pagpapatupad ng "MDD:\Bat", "mdD:\Bat" at "mdd:\Bat" ay magiging pareho.

Hakbang 3. Gumawa ng aktwal na batch file gamit ang command na "@echo off > D:\Bat\probnik.bat".

Sa isang tala! Sa kasong ito, mahalaga ang kaso kapag tinutukoy ang landas ng paglalagay, iyon ay, ang folder na "paniki", "Bat" at "BAT" - tatlong independyente at ganap na magkakaibang mga direktoryo. Kung ituro mo ang isang hindi umiiral na folder, ang utos ay hindi isasagawa. Pakitandaan na wala ring magiging mensahe ng error.

Hakbang 4. Upang baguhin ang mga nilalaman ng isang file, buksan ang lokasyon kung saan ito nakaimbak, tawagan ang menu ng konteksto at piliin ang linyang "Baguhin".

Gumawa ng batch file gamit ang Notepad

Hakbang 1. Upang ilunsad ang notepad, pumunta sa menu na "Lahat ng Programa", piliin ang "Mga Accessory" at mag-click sa icon ng paglunsad.

Hakbang 2.

Alamin kung paano lumikha ng isang file nang walang gaanong kaalaman sa programming mula sa bagong artikulo -

Bilang halimbawa, iminumungkahi naming gamitin mo ang sumusunod na code, na nagpapakita ng larawan ng isang bituin:

« @echo off

mode con cols=32 linya=50

title star!

para sa %%i sa (

88888888888888881888888888888888,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,

) gawin echo %%i

i-pause > null

Pansin! Ang code ay dapat ipasok nang walang mga panipi. Palaging suriin ang command syntax. Kung nakalimutan mong maglagay ng kuwit sa dulo ng isang linya, pagkatapos ay kapag naisakatuparan ang programa, ito ay magsasama sa susunod.

Hakbang 3. I-save ang nagresultang file sa nais na direktoryo. Upang baguhin ang resolution, gamitin ang linya na "Uri ng file", piliin ang "Lahat ng mga file" dito, at kapag nagpasok ng isang pangalan, pagkatapos ng tuldok, ipahiwatig ang "bat".

Paglikha ng isang batch file gamit ang "Sinabi ni Dr.Batcher"

Ang tinukoy na produkto ng software ay binabayaran, ngunit nagbibigay ng pagkakataong gumamit ng pansubok na bersyon sa loob ng 30 araw.

Hakbang 1. Upang gumawa ng file, gamitin ang menu na “File”, ang item na “Bago...” o ang kumbinasyon ng key na “Ctrl+N”.

Hakbang 2. Sa dialog box, lagyan ng check ang "Empty Batch File" at i-click ang "OK".

Hakbang 3. Tukuyin kung aling mga utos ang dapat isagawa ng bat file.

Sa isang tala! Ang kanang frame ay naglalaman ng mga pangunahing command na magagamit mo kapag nagsusulat ng code. Piliin lamang ang gusto mo at i-click ang “IpasokCommand", na nakakatulong na makatipid ng oras kapag nagtatrabaho.

Hakbang 4. I-save ang nagresultang file sa nais na direktoryo.

Mahalaga! Pakitandaan na pinapayagan ka ng utility na ito na i-debug ang program sa mabilisang. Gamitin lang ang menu"Batch" upang simulan ang naipasok na sequence. Ang pag-unlad ay ipinapakita sa ilalim na frame. Kapag ginagamit ang item "IpatupadsaPanlabasWindow..." ay isasagawa ang batch file, katulad ng paglulunsad nito gamit operating system.

Konklusyon

Inilarawan namin ang tatlong paraan upang lumikha ng mga file na may extension na .bat. Dalawa sa mga pamamaraan sa itaas ay gamit ang mga karaniwang pamamaraan, magagamit sa Windows, nangangailangan ang isa ng pag-install ng karagdagang software. Ang pagsusuri ng bawat pamamaraan ay ibinibigay sa talahanayan ng buod.

Impormasyon\PangalanCommand lineKuwadernoDr.Batcher
LisensyaNaihatid gamit ang WindowsNaihatid gamit ang WindowsBinayaran
wikang RusoDepende sa bersyon ng WindowsDepende sa bersyon
Paglikha ng Batch FileOoOoOo
Pag-edit ng Batch FileHindiOoOo
Kaginhawaan ng interface (mula 1 hanggang 5)4 4 5

Video - Paglikha ng Bat File

Kahit sino ay maaaring magsulat ng mga bat file!

Command processor

Maraming mga operating system, kabilang ang mga binuo ng Microsoft, ay may kasamang command processor. Ito ang pangalan ng isang programa na nagpapasimula ng pagpapatupad ng iba't ibang mga aksyon bilang tugon sa mga utos na ipinasok ng user mula sa keyboard. Karaniwan, ang mga pagkilos na ito ay binubuo ng paglulunsad ng mga kinakailangang programa na may ilang mga parameter. Ngunit hindi lamang; Makikita natin mamaya na ang ilang mga utos ay direktang isinasagawa ng command processor. Karaniwan, ito ang mga utos na nagsisilbing kontrolin ang konteksto at pagkakasunud-sunod ng pagpapatupad ng utos. Gayunpaman, hindi tayo mag-iisip nang malalim tungkol sa likas na katangian ng mga utos, kahit na hindi maliban kung kailangan natin. Higit sa lahat, ang anumang programa na teknikal na posibleng tumakbo mula sa command line ay isinasaalang-alang ng command processor bilang isang command. Hindi ito nag-iiba sa pagitan ng mga native na command na orihinal na binuo sa operating system at mga program na naka-install sa ibabaw nito.

Upang simulan ang command processor:

    Mag-click sa pindutan Magsimula. Ang pangunahing menu ay ipapakita sa screen.

    Piliin ang Run mula sa pangunahing menu. May lalabas na dialog box sa screen Pagsisimula ng programa.

    Sa Open field, ilagay ang string cmd.

    Mag-click sa pindutan OK. Ang isang window ng command processor ay lilitaw sa screen.

Command line at command

Ang window ng command processor sa orihinal nitong anyo ay mukhang madilim, at ang pagtatrabaho dito ay hindi masyadong maginhawa para sa karamihan ng mga tao. Mas madaling gamitin ang Norton Commander-style na mga file manager. Nagbibigay sila ng parehong mga tool para sa mabilis na pag-navigate sa file system at timing para sa pagpasok ng mga command.

Upang ipasok ang utos:

    I-type ang command text sa command line.

    Pindutin ang key Pumasok.

Ang mga command processor at operating system ay inilarawan sa dokumentasyon ng pagpapatakbo hanggang sa huli. Ang dokumentasyong ito ay bahagyang nakapaloob sa loob mismo ng operating system. Upang ma-access ito gamitin ang command tulong. Ang command na ito ay nagpapakita ng isang listahan ng mga magagamit na command. Upang makakuha ng paglalarawan ng isang partikular na command, gamitin ang command bilang isang parameter tulong dapat ipahiwatig ang kanyang pangalan. Ang command line na ipinapakita sa sumusunod na listahan ay nagpapakita ng paglalarawan ng command para sa.

Kung sinubukan mong ipasok ang command tulong, malamang na napansin mo na ang resulta ng trabaho nito (ang tinatawag na output) ay hindi magkasya sa isang screen. Ang parehong problema ay nangyayari sa teksto ng paglalarawan ng command para sa. Ang magandang balita ay ang output ay maaaring i-redirect sa isang file. Ang command line na ipinapakita sa sumusunod na listahan ay bumubuo ng file commands.txt, na naglalaman ng listahan ng lahat ng MS-DOS command.

tulong > commands.txt

Upang makabuo ng isang file na may paglalarawan ng utos para sa, kailangan mong ibigay ang sumusunod na utos (maaari mong gawin ang pangalan ng output file kahit ano).

tulong para sa > for.txt

Sa kabuuan, mayroong bahagyang mas mababa sa 80 mga utos sa modernong mga operating system ng Microsoft, at imposibleng ilarawan ang mga ito sa isang artikulo. Dito maaari lamang naming banggitin ang ilang mga utos na kapaki-pakinabang para sa pag-automate ng pagproseso ng file at ipakita kung paano gamitin ang mga ito. Ang mga utos na ito ay gagamitin sa karagdagang mga halimbawa. Maaari mong palaging linawin ang mga detalye sa pamamagitan ng utos tulong o sa direktoryo.

kopya- pagkopya ng isa o higit pang mga file;

del- pagtanggal ng isa o higit pang mga file;

gumalaw- paglipat ng isa o higit pang mga file o direktoryo;

palitan ang pangalan(pinaikling ren) - pagpapalit ng pangalan ng isa o higit pang mga file o direktoryo;

xcopy- pagkopya ng subdirectory tree;

mkdir(pinaikling md) - paglikha ng isang direktoryo;

rmdir(pinaikling rd) - pagtanggal ng isang direktoryo.

Isa sa mga pangkalahatang tuntunin ng MS-DOS command syntax ay na kapag tinukoy ang mga parameter, ang pinagmulan ay tinukoy muna, at pagkatapos ay ang resulta. Halimbawa, kung gusto naming ilipat ang isang file beer.txt mula sa katalogo kahon sa catalog mesa, dapat nating ipasok ang utos na ibinigay sa sumusunod na listahan.

ilipat ang box\beer.txt table

Una kung ano ang lilipat, pagkatapos ay kung saan lilipat.

Kung gusto naming palitan ang pangalan ng file lena.txt mag-file natasha.txt, kung gayon ang utos ay dapat na nakasulat tulad ng ipinapakita sa ibaba.

ren lena.txt natasha.txt

Una, kung ano ang papalitan ng pangalan, pagkatapos ay kung ano ang papalitan ng pangalan.

Kasalukuyang direktoryo. Ganap at kamag-anak na mga landas

Kapag nagtatrabaho sa mga utos ng file, ang konsepto ng kasalukuyang direktoryo ay nagiging lubhang mahalaga. Ang punto ay kapag tinukoy ang isang file bilang isang parameter ng command, palagi kaming gumagamit ng isa sa dalawang posibleng paraan upang ituro ang mga ito: alinman sa isang ganap na landas o isang kamag-anak na landas. Sa buong landas, tinukoy namin ang lahat na nagsisimula sa drive (o pangalan ng network ng computer), halimbawa d:\misha\box\beer.txt. Anumang direktoryo ang mangyayari sa kasalukuyan kapag ang command ay ipinasok, ang buong landas ay tumutugma sa parehong file. Para sa isang kamag-anak na landas, ang kasalukuyang direktoryo ay nagsisilbing panimulang punto. Ang pinakasimpleng kaso ng isang kamag-anak na landas ay isang pangalan ng file. Sa konteksto ng pagpapatupad ng command, nangangahulugan ito ng isang file na may pangalang iyon na matatagpuan sa kasalukuyang direktoryo.

Upang magsulat ng isang kamag-anak na landas sa kasalukuyang direktoryo, mayroong isang kondisyong entry . (tuldok). Upang maitala ang kamag-anak na landas sa direktoryo na naglalaman ng kasalukuyang direktoryo, mayroong isang kondisyonal na notasyon .. (dalawang tuldok). Ang utos na ipinapakita sa sumusunod na listahan ay kinokopya ang lahat ng mga file mula sa kasalukuyang direktoryo patungo sa direktoryo kapit-bahay, na matatagpuan sa tabi nito.

kopyahin *.* .\kapitbahay

Mga batch na file

Hanggang ngayon, kapag nagbibigay ng mga halimbawa, ipinapalagay namin na manu-manong ipinapasok namin ang mga utos sa bawat oras. Kapag nagpoproseso ng malaking bilang ng mga file o sistematikong isinasagawa ang parehong mga utos, nagiging mahirap ito. Samakatuwid, ang command processor ay nagbibigay ng kakayahang magsagawa ng mga file ng command. Ang batch file ay isang text file kung saan ang mga command (o kahit isang command) ay nai-type. Ang isang halimbawang batch file ay ipinapakita sa sumusunod na listahan. Subukang hulaan kung ano ang ginagawa ng batch file na ito.

help copy > copy.help

tumulong gumalaw > gumalaw.tulong

ilipat *.help msdos-help

Kung ang layunin ng file na ito ay nananatiling isang misteryo sa iyo, pagkatapos ay subukang aktwal na lumikha at isagawa ito. Nakaugalian na bigyan ng extension ang mga file ng command paniki. Ito ay kung paano kinikilala ang mga file ng ganitong uri ng command processor. Maaaring tawagan ang file na ito, halimbawa, gumawa-tulong.bat.

Upang patakbuhin ang batch file:

    Ilagay ang kanyang pangalan bilang isang utos. Pagkatapos nito, isasagawa ang batch file.

Sa isang batch file, ang bawat command ay tumatagal ng isang linya. Mas tiyak, mayroong isang paraan upang maglagay ng isang utos sa maraming magkakasunod na linya; upang gawin ito, kaagad bago ang bawat break ng linya dapat mong ilagay ang simbolo na "cap" ^ . (Ang bawat cap ay dapat ang huling character sa linya nito; dapat na walang mga puwang o tab pagkatapos nito.) Ang isang halimbawa ng naturang command ay ipinapakita sa sumusunod na listahan.

kung meron disser.txt ^

kopyahin ang disser.txt ^

d:\science\papers\drafts\sources

Ngunit para sa kapakanan ng pagiging simple, upang hindi gumawa ng mga reserbasyon sa bawat oras, ipagpalagay namin na sa isang kahulugan ito ay isang mahabang "lohikal" na linya.

Kapag ang isang batch file ay naisakatuparan, ang command processor ay ini-scan ito mula sa itaas hanggang sa ibaba mula sa unang linya hanggang sa huli at ipapatupad ang mga command sa pagkakasunud-sunod kung saan ito nakatagpo sa kanila. Ginagawa nito ang mga ito sa pangkalahatan na parang manu-manong ipinasok namin ang bawat isa sa kanila. Sa pangkalahatan, dahil bahagyang naiiba ang pagkilos ng ilang utos kapag manu-manong ipinasok at kapag naisakatuparan mula sa isang batch file.

Sa hinaharap, sabihin natin na, kung kinakailangan, ang pagkakasunud-sunod ng pagpapatupad ng command ay maaaring mabago gamit ang mga control command (kung ano ang maaaring maging sanhi ng ganoong pangangailangan ay isang hiwalay na tanong).

Huwag malito ang kasalukuyang direktoryo sa direktoryo kung saan matatagpuan ang batch file na ilulunsad. Ipagpalagay natin na ang kasalukuyang direktoryo ay trabaho, naglalaman ito ng isang direktoryo mga kasangkapan, at ang direktoryo ng mga tool ay nag-iimbak ng mga batch file. Patakbuhin mo ang isa sa kanila gamit ang utos tools\collect-images.bat. Kaya, "mula sa punto ng view" ng command file na ito, ang kasalukuyang direktoryo ay mananatili pa rin trabaho, ngunit hindi mga kasangkapan.

Pagkomento sa batch file at ang output nito. echo at rem command

Ang batch file ay mahalagang isang program na nakasulat sa command processor na wika ng operating system. Ang teksto ng programa ay dapat bigyan ng mga komento upang, kapag bumalik ka dito pagkaraan ng ilang oras, hindi mo kailangang maalala kung bakit kailangan ang program na ito at kung paano ito gumagana.

Ang MS-DOS command system ay nagbibigay ng command para sa paglikha ng mga komento: rem. Ito ay isang dummy na utos na hindi nagsasangkot ng pagsasagawa ng anumang mga aksyon, ngunit nagbibigay-daan sa iyo na magsulat ng arbitrary na teksto sa linya pagkatapos ng iyong pangalan. Bukod dito, hindi ito nakikita ng command processor bilang isang error sa syntax. Ang isang halimbawa ng pag-format ng command file na may mga komento ay ipinapakita sa sumusunod na listahan.

rem ************************************************* ****

rem Pagbuo ng mga file ng tulong

help copy > copy.help

tumulong gumalaw > gumalaw.tulong

ilipat *.help msdos-help

Pansinin ang mga walang laman na linya na naghihiwalay sa batch file sa "mga talata." Ang simpleng trick na ito ay nagbibigay-daan sa iyong gawing mas nababasa ang iyong batch file.

Kapag isinagawa ang batch file sa itaas, ang lahat ng mga command ay ipapakita sa screen habang isinasagawa ang mga ito, na hindi palaging maginhawa. Maaaring hindi paganahin ang pagpapalabas ng command gamit ang command @echo off. Ang simbolo ng "aso" sa harap ng utos echo Nangangahulugan ito na ang utos na ito mismo ay dapat isagawa sa "silent" mode. Maaaring hindi rin natin gamitin ang command line echo off, ngunit maglagay ng "aso" sa harap ng bawat utos.

Sa maraming mga kaso, gusto mong ipakita ng isang batch file ang ilang partikular na mensahe sa screen (o sa isang file). Sa ilang mga kaso, ang mga ito ay maaaring mga mensahe ng error, sa iba pa, mga mensaheng nagbibigay-kaalaman na nagpapaliwanag sa gumagamit ng batch file kung ano ang nangyayari sa sandaling ito, kapag gumawa kami ng iba pang kapaki-pakinabang na file kasama ang batch file. Ang parehong echo command ay ginagamit upang ipakita ang mga mensahe. Ang teksto ng mensaheng ipapakita ay ipinapasa dito bilang isang parameter. Ang listahan ng pinahusay na batch file ay ibinigay sa ibaba.

rem ************************************************* ****

rem Pagbuo ng mga file ng tulong para sa kopya at ilipat ang mga utos

rem ************************************************* ****

@echo Pagbuo ng mga file ng tulong. Isang segundo...

rem Pagbuo ng mga file ng tulong

help copy > copy.help

tumulong gumalaw > gumalaw.tulong

rem Lumikha ng isang direktoryo upang mag-imbak ng mga file ng tulong

rem Ilipat ang mga file ng tulong sa inihandang direktoryo

ilipat *.help msdos-help

echo Tapos na!

Pagpasa ng mga parameter sa isang command file

Sabihin nating gusto naming lumikha ng isang batch file na unang bumubuo ng tulong na naglalarawan ng isang utos na tinukoy ng user, at pagkatapos ay i-load ito sa Notepad para sa pagtingin. Ang trick ay kahit papaano ay sabihin ito sa susunod na patakbuhin namin ang batch file kung aling utos ang interesado kami sa oras na ito.

Upang malutas ang problemang ito, isang mekanismo ng pagpoproseso ng parameter ay ibinigay. Ito ay gumagana nang simple. Kung, kapag nagpapatakbo ng isang batch file, tinukoy ng gumagamit ang ilang mga parameter, pagkatapos ay sa teksto ng batch file ay tinutukoy namin ang una sa kanila kasama ang entry %1 , pangalawang entry %2 , ikatlong entry %3 atbp. Ginagamit namin ang mga notasyong ito sa teksto ng command file sa parehong paraan tulad ng paggamit namin ng mga panghalip sa natural na pananalita.

Ang teksto ng command file na lumulutas sa problema ay ipinapakita sa sumusunod na listahan. Bigyang-pansin ang utos tulong. Ang unang parameter ng command file ay ipinapasa dito bilang parameter nito.

rem Lumilikha kami ng isang file na may paglalarawan ng utos,

rem na ang pangalan ay ipinasa bilang isang parameter

tulong %1 > help.tmp

rem I-load ang file ng paglalarawan sa editor ng Notepad

tulong sa notepad.tmp

Ipagpalagay natin na binibigyan natin ng pangalan ang batch file na ito pakitang-tulong.bat. Upang i-load ang isang paglalarawan ng command sa isang notepad, halimbawa, dir, kailangan nating ipasok ang utos bilang mga sumusunod.

show-help.bat dir

Ang sumusunod na command file ay lumilikha ng isang direktoryo na may pangalang tinukoy sa unang parameter at nagsusulat dito ng isang file na naglalaman ng tekstong naglalarawan sa utos na tinukoy sa pangalawang parameter.

rem Halimbawa ng command file na may dalawang parameter

rem Lumikha ng isang direktoryo na may pangalan na tinukoy ng unang parameter

rem Lumikha ng isang file sa loob nito na may isang paglalarawan ng utos,

rem na tinukoy ng pangalawang parameter

tulong %2 > %1\%2.help

Ano ang mangyayari kung tumukoy ang user ng apat na parameter sa halip na dalawa kapag pinapatakbo ang batch file na ito? Okay lang, hindi naman sila makikialam, hindi lang sila gagamitin. Ano ang mangyayari kung ang unang parameter lang ang tinukoy ng user? Ang pangalawang parameter ay walang laman. Ang epekto ay ito: ang batch file ay isasagawa, ngunit parang kapalit ng pag-record %2 walang kahit ano. Ang help command ay bubuo ng listahan ng lahat ng command at ilalagay ito sa isang file na may walang laman na pangalan at ang extension na .help. Kung pinapatakbo ng user ang file na ito nang hindi tinukoy ang anumang mga parameter, pagkatapos ay kapag sinubukan ng command processor na isagawa ang command md(tandaan, ito ay para sa paglikha ng isang direktoryo), makakakuha tayo ng isang error sa syntax dahil ang md command ay dapat na may isang parameter.

Kaya, ang paggamit ng mga parameter ay lumilikha ng magagandang pagkakataon, ngunit maaaring makabuluhang kumplikado ang mga bagay. Upang palaging gumana nang tama ang batch file, kinakailangang suriin ang kawastuhan ng mga tinukoy na parameter ng user at kahit papaano ay tumugon sa hindi kumpleto o maling data ng input. Maaari mong, siyempre, hindi gawin ito, ngunit ang isang hindi wastong gumaganang batch file ay maaaring magdulot ng mga problema, lalo na kung ito ay nagsasangkot ng pagtanggal o pag-overwrite ng data.

Mga variable. itakda ang utos

Ang isang variable ay isang pinangalanang halaga. Sa mga aklat-aralin sa programming, ang isang variable ay karaniwang inihahambing sa isang sobre na may nakasulat na pangalan. Maaari kang maglagay ng isang bagay sa loob ng sobre, halimbawa, isang tiyak na halaga ng pera - ito ang halaga nito. Tulad ng sa sobre, ang halaga ng variable ay maaaring baguhin.

Upang magdeklara ng isang variable at sa parehong oras ay magtalaga ng isang halaga dito, gamitin ang command itakda. Ang isang halimbawa ng utos na ito ay ipinapakita sa sumusunod na listahan.

Upang kunin ang halaga ng isang variable, ang pangalan nito ay inilalagay sa pagitan ng dalawang porsyento na mga palatandaan, tulad ng ipinapakita sa ibaba.

rem Compiler ng mga help file sa CHM format

itakda ang help_compiler=c:\HTML Help Workshop\hcc.exe

rem Project help file para sa "Warehouse" module

itakda ang store_hpj=help\sources\store\store.hpj

rem Project help file para sa "Sales" module

itakda ang sales_hpj=help\sources\sales\sales.hpj

rem Mag-compile ng mga file ng tulong

%help_compiler% %store_hpj%

%help_compiler% %sales_hpj%

Ipinapakita ng sumusunod na listahan kung bakit kapaki-pakinabang ang mga variable.

Una, pinapayagan ka nilang gumamit ng isang maikling fragment na kasingkahulugan nito sa loob ng isang batch file sa halip na isang mahabang fragment (halimbawa, ang landas patungo sa help file compiler). At least maginhawa.

Pangalawa, pinapayagan ka nitong maiwasan ang pag-uulit sa teksto ng command file ng mga fragment na maaaring magbago sa hinaharap. Isipin na muli naming na-install ang Microsoft HTML Workshop sa ibang direktoryo. Kung ang isang variable ay ginagamit sa isang batch file upang itala ang landas patungo dito, ito ay sapat na upang itama lamang ang isang linya sa batch file, ibig sabihin, ang isa kung saan ang halaga ng variable ay itinalaga help_compiler. Kung isinulat namin ang landas sa compiler sa tuwing kailangan itong tawagan, pagkatapos ay pagkatapos baguhin ang landas ay kailangan naming itama ang bawat linyang iyon. Sa halimbawa sa itaas mayroong dalawa sa mga ito, ngunit sa isang tunay na proyekto ay maaaring maging kasingdali ng lima o labinlima sa mga ito, depende sa bilang ng mga file ng tulong na gusto naming i-compile. Ang problema ay hindi mahirap ang manu-manong pagwawasto sa bawat linya (pagkatapos ng lahat, walang kinansela ang "kopya" at "i-paste" na mga utos), ngunit ito ay lubos na nagdaragdag ng posibilidad ng isang hindi sinasadyang pagkakamali.

Ang mga parameter ng batch file ay mga variable din, ngunit naiiba sila sa mga ordinaryong variable dahil ang kanilang mga halaga ay nakatakda kapag inilunsad ang batch file. Sa hinaharap, kapag pinag-uusapan ang tungkol sa mga variable, lalo na tungkol sa pagtatrabaho sa kanilang mga halaga, ibig sabihin din namin ang mga parameter ng command file, kahit na sa kawalan ng tahasang reserbasyon tungkol dito.

Kapag nagsusulat ng mga batch file, ang sumusunod na pamamaraan ay madalas na ginagamit: ilang mga variable na halaga ay ipinahiwatig nang magkatabi (o interspersed na may ilang mga simbolo o linya), upang makakuha ng ilang bagong makabuluhang halaga. Ang isang halimbawa ay ipinapakita sa sumusunod na listahan.

Sinusuri ang mga kondisyon at pagpili ng mga opsyon. kung at goto utos

Ang if command ay nagbibigay-daan sa iyo na pumili ng mga grupo ng mga command sa isang batch file na naisakatuparan o hindi naisakatuparan depende sa ilang mga kundisyon. Para saan ito?

Ang pagsusuri sa kundisyon ay halos isang kinakailangang hakbang kapag gumagawa ng mga batch file na gumagamit ng mga parameter. Bago simulan ang trabaho, ang batch file sa pangkalahatan ay kailangang tiyakin na ang tamang hanay ng mga parameter ay naipapasa dito. Kung hindi, may mataas na panganib na ito ay isasagawa nang hindi tama o hindi epektibo, at ang gumagamit ay maiiwan lamang na nagtataka kung ano ang problema. Bukod dito, kung ang isang batch file ay nagde-delete, naglilipat, o nag-overwrite ng anumang data, maaari pa itong magdulot ng pinsala kung mali ang mga parameter.

Ipinapakita ng sumusunod na listahan ang help file compilation command file na pamilyar ka na. Ang isang tseke para sa kawalan ng laman ng unang parameter ay idinagdag sa simula ng command file. Pakitandaan ang tampok na syntax na ito: ang operasyon ng paghahambing ay gumagamit ng double equal sign. Kung ang unang parameter ay hindi walang laman, ang utos ng goto ay isasagawa, na "itinapon" ang shell sa tinukoy na label. Sa kasong ito, ang pangalan ng label na ito ay compile. Tandaan na kung saan lumilitaw ang isang label, ang pangalan nito ay pinangungunahan ng isang tutuldok, ngunit sa utos ng goto ito ay hindi. Kung walang laman ang unang parameter, lilipat ang shell sa susunod na linya, na naglalabas ng mensahe ng error. At pagkatapos ay sa susunod, na naglilipat nito sa pinakadulo ng file sa isang label na may pangalan tapusin.

kung hindi "%1"=="" goto compile

rem Kung walang laman ang parameter, nagpapakita kami ng mensahe ng error

echo Hindi tinukoy ang pangalan ng proyekto ng Help file

rem at pumunta sa dulo ng batch file

rem upang tapusin ang marka

rem Ito ay isang label na pinangalanang compile

rem Nasa ibaba ang mga compilation command

rem Path sa help file compiler

itakda ang help_compiler="c:\Program Files\HTML Help Workshop\hhc.exe"

rem Path sa direktoryo kung saan matatagpuan ang mga proyekto ng help file

itakda ang project_path=e:\work\projects\help-projects

rem Tawagan ang compiler upang iproseso ang isang partikular na proyekto,

rem na ang pangalan ay ipinasa sa unang parameter

%help_compiler% %project_path%\%1.hpj

rem Ito ay isang label na pinangalanang tapusin

Aminin natin, ang iminungkahing paraan ng pagsuri sa isang parameter ay hindi ang pinakamatagumpay.

Una, kung ang user ay nagkamali na tinukoy ang pangalan ng isang hindi umiiral na file bilang isang parameter, ang batch file ay masisiyahan dito at susubukang mag-compile. Ang isang mas tamang paraan ay upang suriin kung ang naturang file ay talagang umiiral. Para sa layuning ito, ang MS-DOS command language ay nagbibigay ng isang espesyal na salita umiral. Samakatuwid, mas mahusay na isulat: kung mayroon %1.hpj goto compile.

Pangalawa, aktibong paggamit ng command pumunta sa(ang tinatawag na unconditional jump) at mga label ay lubos na nakakalito sa code. Sa teknikal, hindi sila masama, ngunit ang pag-debug at pagpapanatili ng isang batch file na nakasulat sa istilong ito ay medyo hindi maginhawa. Samakatuwid, matagal nang isinasaalang-alang ng mga programmer ang unconditional jumping bilang isang hindi kanais-nais na pamamaraan. Sa ibaba ay ipinapakita ang isang mas tama, mula sa punto ng view ng programming style, structured na bersyon, na gumagamit ng construction kung hindi. Ito ay gumagana tulad nito: kung ang kundisyon ay totoo, ang mga utos sa panaklong pagkatapos kung, at kung mali, pagkatapos ay nasa panaklong pagkatapos iba pa.

rem Suriin kung ang parameter ay nakatakda

kung wala %1.hpj (

rem Path sa help file compiler

itakda ang help_compiler="c:\Program Files\HTML Help Workshop\hhc.exe"

rem Path sa direktoryo kung saan matatagpuan ang mga proyekto ng help file

itakda ang project_path=e:\work\projects\help-projects

rem Tawagan ang compiler upang iproseso ang isang partikular na proyekto,

%help_compiler% %project_path%\%1.hpj

Magbigay tayo ng isa pang halimbawa ng pagtatrabaho sa mga tseke. Ang sumusunod na batch file ay lumilikha ng isang direktoryo na tinatawag na help-files(kumbaga, para mag-upload ng pinagsama-samang mga file ng tulong dito). Bukod dito, kung mayroon nang direktoryo na may parehong pangalan (at malamang na naglalaman ito ng mga lumang file ng tulong na hindi mo nais na mawala: paano kung ang mga bago ay lumabas na mas masahol pa?), ang batch file ay nagtatalaga ng bak extension dito . Ngunit kung ang direktoryo help-files.bak umiral na, pagkatapos ay tatanggalin ito ng batch file (ipapalagay namin na ang isang backup na kopya ay sapat na para sa amin).

kung mayroong help-files.bak rd help-files.bak

kung mayroon help-files ren help-files help-files.bak

Maramihang pagpoproseso ng file. para sa utos

Ang para sa utos ay nagbibigay-daan sa iyo upang ayusin ang pagpapatupad ng mga paulit-ulit na aksyon ng parehong uri. Magagamit mo ito upang ipakita ang mga numerong isa hanggang sampu, tulad ng ipinapakita sa sumusunod na listahan.

para sa /l %%i sa (1,1,10) gawin ang echo %%i

Variable i tinatawag na loop counter. Dahil sa kakaibang syntax ng command para sa, ang pangalan ng loop counter ay dapat na binubuo ng isang titik. Bukod dito, kung nagsusulat tayo ng isang batch file, kailangan nating maglagay ng double percent sign sa harap ng pangalan ng loop counter, ngunit kung nagta-type lang tayo ng command sa command line, pagkatapos ay isa.

Ang lohika ng utos na ito ay ang mga sumusunod. Pagkatapos ng salita sa ang saklaw ng pagbabago ng cycle counter ay ipinahiwatig. Sa bersyong ito ng utos, ito ay isang triple ng mga numero: ang paunang halaga ng counter, ang hakbang sa pagbibilang, ang limitasyon ng halaga ng counter. Kapag nagsasagawa ng isang utos, ang shell ay unang magtatalaga ng variable i ibig sabihin 1 , at pagkatapos ay sa bawat hakbang ng loop tataas ito ng 1 hanggang sa ito ay lumampas 10 . Malinaw, magkakaroon ng sampung ganoong hakbang. Kung tinukoy namin ang isang numero bilang hakbang sa pagbilang 2 , pagkatapos ay isasagawa ang loop ng limang beses. Sa bawat hakbang ng loop, ang katawan ng loop na nakasulat pagkatapos ng salita ay naisakatuparan gawin. Sa halimbawa sa itaas, ito ang echo command, na nagpapakita ng kasalukuyang halaga ng loop counter.

Maaari mong isipin ang isang sitwasyon kung saan ang isang bagay na tulad nito ay talagang kinakailangan, ngunit kadalasan ang utos para sa ginagamit upang umulit at magproseso ng mga file. Dapat sabihin na sa medyo simpleng mga kaso, ang pagpoproseso ng maramihang file ay isinasagawa gamit ang mga wildcard na character. Kung gusto naming palitan ang lahat ng mga file sa kasalukuyang direktoryo ng extension .htm sa .html, ipinasok namin ang utos ren *.htm *.html. Ngunit kung ang parehong bagay ay kailangang gawin hindi sa isang direktoryo, ngunit sa isang puno ng direktoryo, hindi mo magagawa nang wala ang para sa utos. Ginagawa ng sumusunod na batch file ang operasyong ito para sa lahat ng htm file sa subdirectory ng website ng kasalukuyang direktoryo. Mas tiyak, sa buong puno ng direktoryo na nasa loob website.

para sa /r website %%i sa (*.htm) gawin ren %%i %%~ni.html

Susi /r ay nagpapahiwatig ng pangangailangan na dumaan sa direktoryo website at lahat ng loob nito. Kung hindi mo ito tinukoy (ngunit hindi ka pinapayagang tumukoy ng isang direktoryo), kung gayon ang mga file lamang sa kasalukuyang direktoryo ang mapoproseso. Ang hanay ng mga halaga ng loop counter sa variant ng command na ito ay ang hanay ng lahat ng mga file na may extension .htm, na matatagpuan sa loob ng isang direktoryo (mas tiyak, isang puno) website. Isang kakaibang entry sa unang tingin ~ni nangangahulugan na mula sa halaga ng variable i Kailangan mo lamang piliin ang pangalan ng file. Ang MS-DOS command language ay nagbibigay ng ilang mga naturang modifier, halimbawa, pagsusulat ~xi nagsasaad ng extension ng file. Ang lahat ng mga modifier ay inilarawan sa command help para sa.

Ang katawan ng isang loop ay maaaring binubuo ng ilang mga utos na nakapaloob sa mga panaklong.

para sa /r website %%i sa (*.htm) gawin (

rem I-print ang pangalan ng file

rem Palitan ang pangalan ng file

ren %%i %%~ni.html

Paglilipat ng kontrol sa isa pang batch file. utos ng tawag

Posibleng tumawag ng isa pang batch file mula sa isang batch file. Ang utos para dito ay tawag. Mahusay, ang mga variable na tinukoy sa calling batch file ay "nakikita" ng tinatawag na isa. At kabaligtaran, pagkatapos ng tinatawag na file ay matapos ang trabaho nito at ibabalik ang kontrol sa tumatawag, "makikita" ng huli ang mga variable na naiwan dito ng tinatawag na "mana". Pinapayagan nito ang developer ng batch file na gumawa ng isang bagay na tulad nito: Kung ang ilang mga command file ay dapat gumamit ng parehong mga halaga, halimbawa, mga path sa ilang mga file, maaari silang ilagay sa isang hiwalay na command file, na gaganap sa papel ng isang configuration file. Ang bawat gumaganang command file ay magsisimula sa isang configuration call. Ang benepisyo ay kapag nagbabago ng mga landas, kailangan mo lang gumawa ng mga pagbabago sa isang configuration file, at hindi sa maraming manggagawa.

"Configuration" batch file config.bat.

rem Path sa help file compiler

itakda ang help_compiler="c:\Program Files\HTML Help Workshop\hhc.exe"

rem Path sa direktoryo kung saan matatagpuan ang mga proyekto ng help file

itakda ang project_path=e:\work\projects\help-projects

"Gumagana" batch file.

rem Pag-set up ng mga variable

rem Suriin kung ang parameter ay nakatakda

kung wala %1.hpj (

rem Kung walang laman ang parameter, nagpapakita kami ng mensahe ng error

echo Ang proyekto ng help file na ito ay hindi umiiral.

rem Nasa ibaba ang mga compilation command

rem Tawagan ang compiler upang iproseso ang isang partikular na proyekto,

rem na ang pangalan ay ipinasa sa unang parameter

%help_compiler% %project_path%\%1.hpj