Paano gumawa ng bat file para maglunsad ng program. Mga utos ng bat file. Paano gumawa ng bat file? Mga pangunahing utos

Ang mga batch o batch na file ay mga ordinaryong text file na naglalaman ng mga hanay ng mga utos ng interpreter at may extension ng bat o cmd (gumana lamang ang cmd sa mga operating system ng pamilya ng NT). Maaari mong i-edit ang mga naturang file gamit ang notepad o anumang iba pang text editor.

Buksan ang notepad at i-type ang sumusunod na dalawang linya:

@echo Ang batch file na ito
@pause

Ang batch file na ito
Pindutin ang anumang key upang magpatuloy...

Pagkatapos ng pagpindot sa anumang key, magsasara ang window, dahil bat file ay nakumpleto.
Pakitandaan na ang simbolo ng aso bago ang bawat command sa bat file ay nagpapahiwatig na ang command mismo ay hindi kailangang ipakita sa screen, ngunit ang resulta lamang ng operasyon nito ang dapat ipakita. Upang mag-eksperimento, alisin ang karakter ng aso sa simula ng bawat linya, i-save at patakbuhin ang resultang bat file.

Mga utos na ginagamit sa mga bat file

Ang listahan ng mga command na maaaring magamit sa mga bat file ay maaaring matingnan sa pamamagitan ng pagpasok ng command sa command line (Start - Run - cmd para sa Windows NT family o Start - Run - command para sa 9x line)

Ang resulta ng tulong ay isang listahan ng mga magagamit na command na may maikling paliwanag para sa kanila. Upang makakuha ng mas detalyadong impormasyon sa command na interesado ka, ipasok ang help command_name sa command line. Halimbawa, upang makakuha ng detalyadong tulong sa mga switch ng AT command, patakbuhin ang sumusunod na command:

Bilang resulta, ang isang listahan ng mga key para sa pagpapatakbo ng AT command mula sa bat file ay ipapakita sa screen.
Kung ang bat file ay naisakatuparan sa ilalim ng Windows (hindi purong DOS), maaari kang magpatakbo ng anumang mga application o magbukas ng mga file mula dito. Halimbawa, kailangan mong awtomatikong buksan ang log file ng bat file kapag nakumpleto nito ang trabaho nito. Upang gawin ito, isama lamang ang sumusunod na command sa bat file bilang huling linya:

simulan ang filename.txt

Ang resulta ng pagpapatupad ng command na ito ay ang pagbubukas ng file na filename.txt, at ang bat file mismo ang kukumpleto sa trabaho nito. Ang pamamaraang ito ay mabuti kung ang log file ay maliit, kung hindi man ay tatanggihan ng Notepad na buksan ito, na nagmumungkahi na gumamit ka ng WordPad. Ngunit ang problemang ito ay maaari ding malutas, tulad ng ipapakita sa karagdagang mga halimbawa.

Paano i-automate ang paglulunsad ng mga bat file

Kadalasan kinakailangan na i-automate ang paglulunsad ng mga file ng bat upang maisagawa ang mga nakagawiang operasyon. Upang patakbuhin ang mga bat file sa isang iskedyul, ang Scheduler na kasama sa karaniwang Windows package ay pinakaangkop. Sa tulong na ito, maaari mong napaka-flexible na i-configure ang paglulunsad ng isang batch file sa ilang partikular na araw o oras, na may isang tiyak na agwat. Maaari kang lumikha ng maramihang mga iskedyul, atbp.

Upang patakbuhin ang mga batch na file nang lokal, maaari kang gumamit ng mga solusyon mula sa mga third party, sa kabutihang palad, mayroong napakaraming bayad at libreng alternatibo sa karaniwang Scheduler.

Ang mga batch file ay maaari ding gamitin bilang mga script sa pag-log in sa mga domain. Kapag ginamit sa ganitong paraan, isasagawa ang mga ito sa tuwing magla-log in ang user sa network, anuman ang kanyang pagnanais. Sa tulong nila, maaari mong i-automate ang pagkolekta ng impormasyon tungkol sa mga machine o software na naka-install sa mga computer ng user, pilit na baguhin ang mga setting ng Windows, i-install ang software nang hindi napapansin ng user, at i-automate ang solusyon ng iba pang mga gawain na mangangailangan ng maraming oras upang maisagawa nang manu-mano.

Paano lumikha ng isang file na may isang arbitrary na pangalan mula sa isang bat file

Ang isang simbolo ng pag-redirect ay ginagamit upang lumikha ng isang file habang tumatakbo ang isang batch file. Mukhang ganito:
>
Yung. para gumawa ng file kailangan mong i-redirect ang stream mula sa screen papunta sa file. Magagawa ito gamit ang sumusunod na command:

@echo Simulan ang file>C:\1.txt

Pagkatapos isagawa ang utos na ito, isang text file na may linyang Start file ay malilikha sa ugat ng drive C.
Kapag gumagawa ng file, maaari mong gamitin ang mga variable ng system o mga bahagi ng mga ito sa pangalan nito. Halimbawa, maaari kang lumikha ng file ng ulat tungkol sa pagpapatakbo ng isang bat file na may pangalan na katumbas ng petsa kung kailan inilunsad ang bat file. Upang gawin ito, maaari mong gamitin ang mga sumusunod na linya sa bat file.

itakda ang datetemp=%date:~-10%
@echo .>%SYSTEMDRIVE%\%DATETEMP%.txt

Ang dalawang linyang ito ay gumagana nang ganito. Una, gumawa kami ng variable ng datetemp sa memorya, kung saan nagtatalaga kami ng 10 character mula kanan pakaliwa mula sa variable ng system ng DATE. Kaya, ngayon ang pansamantalang variable datetemp ay naglalaman lamang ng kasalukuyang petsa. Sa susunod na linya, nire-redirect namin ang output ng simbolo ng tuldok sa isang file, ang pangalan nito ay kinuha mula sa variable ng datetemp, at ang extension ng txt ay tahasang tinukoy. Ang file ay gagawin sa system disk ng computer kung saan ang bat file ay pinaandar.

Kapag ang isang administrator ay nangongolekta ng impormasyon tungkol sa mga computer sa network, magiging mas maginhawang idagdag ang pangalan ng computer sa pangalan ng file. Madali itong gawin gamit ang sumusunod na command:

@echo .>C:\FolderName\%COMPUTERNAME%.txt

Ang command na ito, habang nagpapatupad ng batch file, ay lilikha ng text file sa drive C na may pangalan ng computer kung saan tumatakbo ang batch file.
Upang lumikha ng isang file na may partikular na pangalan, maaari mong gamitin ang anumang mga variable ng system, o lumikha ng iyong sarili batay sa mga variable ng system at/o iba pang data.

Paano lumikha ng isang folder mula sa isang bat file

Para gumawa ng folder, gamitin ang MKDIR command o ang pinaikling katumbas nitong MD. Upang lumikha ng isang folder mula sa isang bat file kailangan mong gamitin ang sumusunod na command:

Pagkatapos isagawa ang utos na ito, gagawa ng folder ng FolderName sa folder kung saan inilunsad ang bat file. Upang gumawa ng file sa isang lokasyon maliban sa kung saan mo sinimulan ang bat file, halimbawa sa root ng drive D, gumamit ng tahasang indikasyon ng lokasyon ng bagong folder. Magiging ganito ang utos:

MD D:\FolderName

Kapag gumagawa ng mga folder, maaari mong gamitin ang mga variable ng system. Halimbawa, maaari kang lumikha ng isang folder sa ugat ng drive D na may pangalan ng kasalukuyang gumagamit. Upang gawin ito, kakailanganin mo ang variable na %USERNAME%, at magiging ganito ang utos:

MD D:\%USERNAME%

Maaari mo pang gawing kumplikado ang command at lumikha ng isang folder na may pangalan ng kasalukuyang user sa system drive ng kanyang computer. Ang utos para dito ay magiging ganito:

MD %SYSTEMDRIVE%\%USERNAME%

Kapag gumagawa ng mga folder o file, maaari mong gamitin ang anumang mga variable ng system o mga bahagi nito. Ang sumusunod na halimbawa ay nagpapakita ng paglikha ng isang folder sa system drive ng computer ng user na may pangalan na katumbas ng kasalukuyang petsa.

itakda ang datetemp=%date:~-10%
MD %SYSTEMDRIVE%\%datetemp%

Ang disenyong ito ay gumagana tulad ng sumusunod.
Ang unang command ay lumilikha ng datetemp variable sa memorya, na masisira kapag ang bat file ay natapos nang tumakbo. Hanggang sa matapos ang bat file sa trabaho nito, posibleng gumana sa halaga ng variable na ito. Ang variable ng datetemp ay itinalaga ng 10 character mula kanan pakaliwa ng variable ng system ng DATE, ibig sabihin. mula sa kasalukuyang petsa. Ang DATE variable ay may format na Day DD.MM.YYYY. Ang mga unang character sa kaliwa ay ang pangalan ng araw ng linggo, kaya itinatapon namin ang mga ito at itinalaga lamang ang kasalukuyang petsa sa pansamantalang variable na datetemp.
Hindi nito nililimitahan ang listahan ng mga posibilidad kapag lumilikha ng mga folder. Maaari mong manipulahin ang mga variable sa paraang gusto mo, na lumilikha ng mga folder na may natatanging, madaling basahin na mga pangalan. Maaari kang makakuha ng isang listahan ng lahat ng mga variable gamit ang SET command.

Paano i-redirect ang resulta ng command execution sa isang file

Kadalasan, kapag nagpapatupad ng isang kumplikadong bat file sa awtomatikong mode, ang pagsuri sa mga resulta ng trabaho nito ay maaaring maging mahirap para sa maraming mga kadahilanan. Samakatuwid, mas madaling isulat ang mga resulta ng mga utos ng batch file sa isang text file (log file). at pagkatapos ay suriin ang tamang operasyon ng bat file gamit ang log na ito.
Ang pag-redirect ng resulta ng mga utos ng bat file sa isang log file ay medyo simple. Ang mga sumusunod ay magpapakita kung paano ito magagawa.
Gumawa ng bat file na may sumusunod na content (kopyahin ang mga linyang ito sa Notepad at i-save ang file gamit ang bat extension):

@echo off
echo Simula %time%
echo Lumikha ng test.txt
echo test>C:\test.txt
echo Kopyahin ang Test.txt sa Old_test.txt
kopyahin ang C:\test.txt C:\Old_test.txt
echo Ihinto %time%

Ang unang linya ay hindi pinapagana ang output ng mga utos mismo. Kaya, ang mga resulta lamang ng kanilang pagpapatupad ang isusulat sa log file.
Ang pangalawang linya ay nagsusulat sa log file ng oras ng pagsisimula ng batch file.
Ang ikatlong linya ay nagsusulat sa log file ng paliwanag na ang sumusunod na command ay lilikha ng test.txt file
Ang utos mula sa ikaapat na linya ay lumilikha ng isang file test.txt mula sa ugat ng drive C. Ang file ay nilikha halimbawa. Isinulat ng command na ito ang word test sa file na C:\test.txt
Ang ikalimang linya ay nagpi-print sa log file ng paliwanag na kinokopya ng sumusunod na command ang isang file mula sa isang lokasyon patungo sa isa pa.
Kinokopya ng command sa ikaanim na linya ang nilikhang file na C:\test.txt sa file na C:\Old_test.txt, i.e. isang kopya ng file ay nilikha sa ilalim ng isang bagong pangalan.
Ang huling, ikapitong linya ay naglalaman ng isang command upang ipakita ang oras ng pagkumpleto ng batch file. Kasama ang pag-record ng oras ng pagsisimula ng batch file sa log file, ginagawang posible ng dalawang time value na ito na tantyahin ang oras ng pagtakbo ng batch file.

I-save ang batch file na ito na may pangalan tulad ng 1.bat
Ipagpalagay natin na gusto naming mag-imbak ng isang ulat sa pagpapatakbo ng isang batch file sa isang hiwalay na folder at magsulat ng isang ulat araw-araw na may bagong pangalan ng file, upang ma-access namin ang mga log para sa mga nakaraang araw sa anumang araw. Bukod dito, nais kong magkaroon ng pangalan ng log file sa anyo ng petsa ng pagpapatakbo ng batch file. Upang ipatupad ang lahat ng ito, gumawa tayo ng isang folder sa drive C (halimbawa) na pinangalanang LOG, i.e. ang buong landas patungo dito ay magmumukhang C:\LOG. Tatakbo kami sa nilikhang batch file na 1.bat gamit ang sumusunod na command:

1.bat>C:\LOG\%date~-10%.txt

Kung ang batch file ay ilulunsad mula sa Scheduler, kailangan mong tukuyin ang buong path sa bat file. Tandaan na kung may mga puwang sa landas, dapat mong gamitin ang alinman sa mga quote o 8.3 na format. Iyon ay, kung ang landas sa bat file ay C:\Program Files\1.bat, halimbawa, pagkatapos ay sa Scheduler command line upang patakbuhin ang bat file kailangan mong tukuyin ang isa sa mga sumusunod na linya:

"C:\Program Files\1.bat">C:\LOG\%date~-10%.txt
C:\Progra~1\1.bat>C:\LOG\%date~-10%.txt

Pagkatapos patakbuhin ang 1.bat file, gagawa ng file sa C:\LOG folder na may pangalan na katumbas ng petsa kung kailan inilunsad ang bat file, halimbawa, 01/13/2004.txt Ito ay magiging ulat sa pagpapatakbo ng 1.bat batch file
Ang pagpapatakbo ng bat file, isang halimbawa kung saan ay ipinapakita sa unang listahan sa tuktok ng pahina, gamit ang command sa itaas, ay hahantong sa paglikha ng isang log file na may sumusunod na nilalaman:

Magsimula 19:03:27.20
Gumawa ng test.txt
Kopyahin ang Test.txt sa Old_test.txt
Mga nakopyang file: 1.
Huminto 19:03:27.21

Kaya, upang i-redirect ang mga resulta ng isang bat file sa isang log file, kailangan mong gamitin ang simbolo ng pag-redirect > Ang syntax ay ang mga sumusunod:

Path\FileName.bat>Path\LogFileName.txt

Ang extension ng log file ay maaaring anuman. Kung ninanais, ang isang ulat sa pagsasagawa ng isang batch na trabaho ay maaari pang i-format bilang isang html na pahina (ang kaukulang mga tag ay maaaring i-output sa isang log file sa parehong paraan tulad ng mga komento ay output sa halimbawa 1.bat) at kinopya sa isang corporate server.

Paano awtomatikong tumugon sa isang kahilingan sa pagkumpirma

Ang ilang mga utos ay nangangailangan ng kumpirmasyon ng isang potensyal na mapanganib na pagkilos kapag naisakatuparan. Halimbawa, ang mga utos tulad ng format o del ay hihingi muna ng kumpirmasyon bago ang karagdagang pagpapatupad. Kung isa sa mga utos na ito ay naisakatuparan sa isang batch file, ang prompt ng pagkumpirma ay hihinto sa batch file mula sa pagpapatupad at ito ay maghihintay para sa user na pumili ng isa sa mga ibinigay na opsyon. Bukod dito, kung ang resulta ng pagpapatupad ng isang batch file ay na-redirect sa isang log file, hindi makikita ng user ang isang kahilingan sa pagkumpirma at ang batch file ay lalabas na frozen.

Upang iwasto ang mga naturang problema, maaari mong i-redirect ang nais na tugon sa utos. Yung. isagawa ang reverse action upang i-redirect ang output ng command sa isang file.
Tingnan natin ang isang halimbawa kung ano ang hitsura ng isang kahilingan upang kumpirmahin ang isang potensyal na mapanganib na pagkilos. Gumawa tayo, halimbawa, ng folder ng Folder sa drive C. Gumawa o kopyahin natin ang alinmang dalawang file dito. Susunod, buksan ang command line at patakbuhin ang sumusunod na command:

Dapat tanggalin ng command na ito ang lahat ng file mula sa tinukoy na folder. Ngunit sasabihan ka muna na kumpirmahin ang sumusunod na nilalaman:

C:\Folder\*, Magpatuloy ?

Ang utos ay titigil sa pagpapatupad hanggang sa ang Y key o ang N key ay pinindot Kapag nag-execute ng isang batch file sa awtomatikong mode, ang pagpapatupad nito ay titigil.
Upang maiwasan ito, gumagamit kami ng pag-redirect. Ang pag-redirect ay isinasagawa gamit ang simbolo
Ang patayong linya ay nagpapahiwatig na sa halip na ipakita ang simbolo sa screen, dapat itong "ibigay" sa utos na sumusunod sa simbolo. Suriin natin ang pag-redirect. Patakbuhin ang sumusunod na command sa command line:

echo Y|del C:\Folder

Ang screen ay magpapakita ng isang kahilingan upang kumpirmahin ang pagtanggal ng lahat ng mga file sa folder ng Folder, ngunit may positibong sagot (Y). Ang lahat ng mga file sa folder ng Folder ay tatanggalin.
Mag-ingat sa utos na ito.

Paano i-disable ang mga command na ipinapakita kapag nagpapatupad ng isang batch file

Kapag nagpapatupad ng isang batch file, bilang karagdagan sa mga resulta ng utos, ang mga utos mismo ay ipinapakita din. Maaari mong gamitin ang simbolo na @ upang sugpuin ang output ng command.
Para maiwasan ang pag-print ng isang command sa screen, maaari kang maglagay ng @ sign sa simula ng command.

Ipapakita ng command na ito ang command echo Testing, at sa susunod na linya - ang resulta ng operasyon nito, ang salitang Testing.

Ipapakita lamang ng command na ito ang resulta ng command, i.e. ang salitang Pagsubok. Ang utos mismo ay hindi magiging output.
Kung hindi mo kailangang magpakita ng mga command sa screen sa buong pagpapatupad ng buong file, mas madaling isulat ang sumusunod na command bilang unang linya sa batch file:

Idi-disable ng command na ito ang output ng command sa screen para sa tagal ng buong batch file. Upang maiwasang mai-print ang mismong command, magsisimula ito sa simbolo na @.

Paano magpatakbo ng isa pa mula sa isang bat file

Minsan, habang nagpapatupad ng batch file, kinakailangan na magpatakbo ng isa pang batch file. Bukod dito, sa ilang mga kaso, ang pagpapatupad ng pangunahing batch file ay dapat na masuspinde habang ang auxiliary file ay naisakatuparan, at sa iba pa, ang auxiliary file ay dapat tumakbo nang kahanay sa pangunahing isa.
Halimbawa, gumawa tayo ng dalawang bat file. Isang pinangalanang 1.bat at naglalaman lamang ng isang utos

Ang pangalawa ay pinangalanang 2.bat at naglalaman din ng isang utos

Ngayon, patakbuhin natin ang 1.bat file Ang isang window ay magbubukas kung saan hihilingin sa iyo na pindutin ang anumang key upang magpatuloy, pagkatapos pindutin kung saan ang window ay magsasara. Kaya, ang pagtawag sa isang batch file sa isa pa gamit ang call command ay humihinto sa pagpapatupad ng batch file hanggang sa ang batch file na tinatawag ng call command ay makumpleto ang pagpapatupad.

Sa isa pang kaso, kailangan mong ilunsad ang alinman sa isang application o isa pang batch file mula sa isang bat file nang hindi nakakaabala sa pagpapatupad ng pangunahing batch file. Ito ay madalas na kailangang gawin, halimbawa, sa pamamagitan ng puwersahang pagbubukas ng log ng isang batch file na naka-iskedyul para sa gabi, upang sa umaga ay masuri ng user ang kawastuhan ng pagpapatupad nito. Para gawin ito, gamitin ang start command Itama natin ang linya sa file 1.bat to

at patakbuhin ang 1.bat file Ngayon ay may bumukas na window kung saan kailangan mong pindutin ang anumang pindutan upang magpatuloy, at ang window ng pangunahing batch file (1.bat) ay nagsara.
Kaya, upang tumawag ng isa pa mula sa isang batch file, nang hindi humihinto sa unang batch file, kailangan mong gamitin ang start command.
Ang mga utos ng pagsisimula at tawag na tinalakay sa itaas ay maaaring gamitin hindi lamang upang ilunsad ang iba pang mga batch na file, kundi pati na rin upang ilunsad ang anumang mga application o buksan ang mga file.
Halimbawa, ang start log.txt command sa katawan ng isang batch file ay magbubukas ng log.txt file sa Notepad nang hindi humihinto sa batch file.

Paano magpadala ng mensahe mula sa isang bat file

Kapag ang isang batch file ay naisakatuparan sa isa sa mga makina sa network, ito ay maginhawa upang ipaalam sa administrator na ang pagpapatupad nito ay tapos na gamit ang isang mensahe na ipinadala sa makina ng administrator. Magagawa mo ito sa pamamagitan ng pagsasama ng command sa batch file

net send name Text ng mensahe

Kung saan ang pangalan ay ang pangalan ng makina o user kung kanino tinutugunan ang mensahe, at ang Message text ay ang text ng mensahe. Pagkatapos patakbuhin ang command na ito, isang mensahe ang ipapadala sa user name.
Pakitandaan na kapag gumagamit ng Cyrillic sa teksto ng isang mensahe, ang teksto ay dapat na nai-type sa MS-DOS encoding (866 code page). Kung hindi, darating ang mensahe sa anyo ng mga hindi nababasang character. Maaari kang mag-type ng text sa DOS encoding gamit ang anumang text editor na sumusuporta sa encoding na ito. Ito ay maaaring, halimbawa, FAR. Magbukas ng batch file para sa pag-edit sa FAR (F4) at pindutin ang F8 button. Dapat ipahiwatig ng tuktok na linya ng editor ang pag-encode ng DOS, at sa ibaba, sa tooltip tungkol sa mga shortcut key, ang F8 key ay dapat mayroong inskripsyon na Win, na nagpapahiwatig na ang kasalukuyang encoding ay DOS at upang lumipat sa Win encoding na kailangan mo. para pindutin ang F8.

Paano i-automate ang pagtanggal ng file ayon sa uri

Upang i-clear ang iyong disk ng mga pansamantalang file, maaari mong gamitin ang command

del /f /s /q C:\*.tmp

saan
/f - tinatanggal ang lahat ng mga file, kahit na mayroon silang read-only attribute set
/s - nagtatanggal ng mga file mula sa lahat ng mga subdirectory
/q - hindi pinapagana ang kahilingan upang kumpirmahin ang pagtanggal ng file
C: ay ang drive kung saan mahahanap at tatanggalin ang mga file. Maaari mong tukuyin hindi ang buong disk, ngunit isang folder, halimbawa, C:\WinNT
*.tmp - uri ng mga file na tatanggalin

Mag-ingat sa /q switch at sa mga uri ng mga file na tatanggalin mo. Ang utos ay nagtatanggal nang hindi humihingi ng pahintulot at, kung ang maling uri ng file ay tinukoy, maaari itong magtanggal ng mga hindi kinakailangang file.

Paano baguhin ang IP address ng isang computer mula sa isang batch file

Maaaring baguhin ang IP address gamit ang netsh command.
Upang baguhin nang tama ang IP address, kailangan mo munang malaman ang kasalukuyang configuration. Magagawa ito sa command line gamit ang command

netsh interface ip show address

Ang resulta ng command na ito ay upang ipakita ang kasalukuyang configuration ng interface ng network. Interesado kami sa pangalan ng interface. Sabihin nating tinatawag itong FASTNET.
Ipagpalagay natin na kailangan mong baguhin ang IP address sa 192.168.1.42, ang network addressing ay static, nang hindi gumagamit ng DHCP, ang gateway ay 192.168.1.1, ang mask ay 255.255.255.0 Sa kasong ito, ang command na dapat isagawa mula sa ang batch file ay magiging ganito:

netsh interface ip set address name="FASTNET" static 192.168.1.42 255.255.255.0 192.169.1.1 1

Pagkatapos isagawa ang command na ito, ang IP address ng FASTNET interface ay magbabago sa 192.168.1.42.
Ang netsh command ay nagbibigay ng malawak na kakayahan para sa pamamahala ng mga setting ng network mula sa command line. Para sa iba pang functionality, tingnan ang tulong gamit ang netsh /?

Paano malalaman ang pangalan ng computer mula sa isang bat file

Upang malaman ang pangalan ng computer kapag nagpapatupad ng bat file (upang magamit ang halagang ito sa hinaharap), gamitin ang command

Ibinabalik ng command na ito ang pangalan ng computer kung saan ito tumatakbo.

Paano palitan ang pangalan ng mga file sa pamamagitan ng mask mula sa isang batch file

Minsan kinakailangan na palitan ang pangalan ng lahat ng mga file sa isang folder gamit ang isang template mula sa isang batch file. Magagawa ito gamit ang sumusunod na command sa bat file:

para sa /f "tokens=*" %%a sa ("dir /b PATH\*.*") gawin ren PATH\%%a Prefix%%a

Sa linyang ito, kailangan mong palitan ang PATH\ ng path sa mga file na papalitan ng pangalan, at Prefix ng mga character na iyon na idaragdag sa pangalan ng file kapag pinapalitan ang pangalan.
Huwag ilagay ang batch file sa folder kung saan nangyayari ang pagpapalit ng pangalan, kung hindi, mapapalitan din ito ng pangalan. Kung may mga subfolder sa folder kung saan pinalitan ng pangalan ang mga file, magdaragdag din ng prefix sa pangalan ng subfolder, i.e. ang mga subfolder ay papalitan ng pangalan tulad ng mga file.
Kung tumukoy ka ng isang partikular na mask para sa mga uri ng file na napapailalim sa pagpapalit ng pangalan, halimbawa, *.txt, at hindi *.* tulad ng sa halimbawa, ang mga file lamang ng mga tinukoy na uri ang papalitan ng pangalan. Ang iba pang mga file at folder ay hindi papalitan ng pangalan.

Pangalawang opsyon:
itakda angPATH=C:\test
para sa %%I sa (*.txt) gawin ang "%thePATH%\%%~nxI" "%%~nI.dat"
Paano gamitin ang simbolo ng porsyento sa isang batch file

Upang magamit ang simbolo ng porsyento (%) sa isang batch file, dapat mong isulat ito nang dalawang beses. Halimbawa
echo 50%%
Ang command na ito sa bat file ay magpapakita ng 50%. Kung gagamitin mo ang command echo 50%, ang numerong 50 lang ang ipapakita sa screen.
Isaalang-alang ang feature na ito kapag ginagamit ang simbolo na % kapag nagsusulat ng mga batch file.

Paano i-export ang registry mula sa isang batch file

regedit.exe -ea C:\environment.reg "HKEY_CURRENT_USER\Environment"

Ang utos na ito, kapag nagpapatupad ng isang batch file, ay itatapon ang HKEY_CURRENT_USER\Environment branch sa file na C:\environment.reg Kapag kailangan mong ibalik ang mga halaga ng parameter sa HKEY_CURRENT_USER\Environment, ito ay sapat na upang patakbuhin ang environment.reg file. Maaaring gamitin ang command na ito upang gumawa ng pang-araw-araw na backup ng software at mga setting ng system na naka-imbak sa registry.
Huwag kalimutan na kung mayroong isang puwang sa landas kung saan dapat i-save ang output file o sa pangalan ng registry hive, dapat silang kasama ng mga quote.

Paano mag-import ng mga halaga ng variable ng registry mula sa isang batch file

Kung may pangangailangan na mag-import ng dati nang nai-save o bagong mga variable na halaga sa registry mula sa isang batch file, maaari itong gawin gamit ang command

regedit.exe -s C:\environment.reg

Ang command na ito ay nag-i-import ng data mula sa environment.reg file papunta sa registry nang hindi humihingi ng kumpirmasyon sa pamamagitan ng paggamit ng -s switch.

Paano i-bypass ang pagsuri ng petsa mula sa isang bat file

Sinusuri ng ilang software ang kasalukuyang petsa ng system sa pagsisimula. Kung ang petsa ay mas malaki kaysa sa itinakda ng developer, hindi magsisimula ang programa. Halimbawa, ang isang developer ay naniniwala na ang isang bersyon ng isang programa ay maaaring gumana sa loob ng isang buwan, at pagkatapos ay ang user ay kailangang mag-install ng isang na-update na bersyon ng programa. Sa isang banda, ito ay isang pag-aalala para sa gumagamit, na magkakaroon sa kanyang pagtatapon ng pinakabagong bersyon ng programa na may mga pagkukulang na inalis na may kaugnayan sa mga nakaraang bersyon. Sa kabilang banda, pinipilit ng tagagawa ang user na mag-download ng bagong bersyon kahit na ganap na nasiyahan ang user sa bersyon ng program na na-install niya. Ang problemang ito ay madaling malutas gamit ang sumusunod na batch file, na tatakbo sa programa, hintayin itong makumpleto at ibalik ang petsa sa petsa na bago ilunsad ang programa.

itakda ang tempdate=%date:~-10%
petsa 01-01-04
notepad.exe
petsa %tempdate%

Sa halimbawang ito, ang kasalukuyang petsa ng system ay unang naka-imbak sa isang variable, pagkatapos (sa pangalawang linya) ang petsa ng system ay nakatakda sa Enero 1, 2004, at pagkatapos ay tinawag ang isang programa na sumusuri sa petsa ng system. Sa halimbawang ito ito ay Notepad. Hangga't nakabukas ang Notepad, maghihintay ang batch file nang hindi kinukumpleto o itinatakda ang petsa ng system pabalik. Kapag naisara na ang Notepad, magpapatuloy sa pagpapatupad ang batch file at itatakda ang petsa ng system sa halagang nakaimbak sa variable ng tempdate, i.e. sa isa na bago patakbuhin ang batch file.

Huwag kalimutan na kung ang landas sa file na nagpapatakbo ng programa ay naglalaman ng mga puwang, kung gayon ito (ang landas) ay dapat na nakapaloob sa mga panipi. Kung ang path ay naglalaman ng Cyrillic, pagkatapos kapag nagsusulat ng isang batch file dapat kang gumamit ng isang text editor na sumusuporta sa DOS encoding (halimbawa, FAR). Kung hindi, kapag pinatakbo mo ang batch file, isang mensahe ang ipapakita na nagsasabing "ang tinukoy na file ay hindi isang panloob o panlabas na utos...".

Kung susuriin lamang ng isang program ang kasalukuyang petsa ng system kapag nagsimula ito at hindi na ito gagawin muli sa panahon ng operasyon, maaaring baguhin ang batch file sa pamamagitan ng pagdaragdag ng start statement bago ang pangalan ng executable file ng program, i.e. ang aming halimbawa ay magiging ganito:

itakda ang tempdate=%date:~-10%
petsa 01-01-04
simulan ang notepad.exe
petsa %tempdate%

Sa kasong ito, babaguhin ng batch file ang petsa ng system, ilulunsad ang program at, nang hindi naghihintay na makumpleto ito, ibalik ang petsa sa petsa na bago ilunsad ang program.

Paano maghintay para sa isang partikular na file na lumitaw sa isang bat file

Minsan ito ay kinakailangan upang magsagawa ng ilang mga aksyon kapag ang isang tiyak na file ay lilitaw sa isang folder. Upang ayusin ang isang tseke para sa hitsura ng isang file sa isang folder, maaari mong gamitin ang sumusunod na batch file

: pagsubok
kung mayroon c:\1.txt goto go
matulog 10
goto test
:go
notepad

Susuriin ng naturang batch file sa 10 segundong pagitan para sa pagkakaroon ng file na 1.txt sa root ng C drive at kapag lumabas ang file na 1.txt, isasagawa ang pagkilos na tinukoy pagkatapos ng go label, i.e. ilulunsad ng halimbawang ito ang Notepad.
Ang sleep utility ay malayang ipinamamahagi bilang bahagi ng Resource Kit. Maaari mong i-download ito dito.
Kung ang 1.txt file ay malaki at kinokopya mula sa kung saan, maaaring mangyari na ang batch file ay titingnan ang presensya nito habang ang file ay hindi pa nakopya o abala sa ibang application. Sa kasong ito, magreresulta sa error ang pagsubok na magsagawa ng ilang pagkilos gamit ang 1.txt file. Upang maiwasang mangyari ito, maaaring baguhin ang batch file bilang mga sumusunod

: pagsubok
kung mayroon c:\1.txt goto go
matulog 10
goto test
:go
palitan ang pangalan ng c:\1.txt 1.txt
kung hindi errorlevel 0 goto go
del c:\1.txt

Kapag ang 1.txt file ay hindi pa ganap na nakopya sa drive C, o inookupahan ng isa pang application, ang pagtatangkang palitan ang pangalan nito ay magdudulot ng error at ang cycle ay mauulit hanggang ang file ay ganap na makopya o mapalaya. Matapos maisakatuparan ang utos na palitan ang pangalan ng c:\1.txt 1.txt nang walang error (ibig sabihin, libre ang file), maaari kang magsagawa ng anumang mga aksyon dito. Sa huling halimbawa ay inaalis ito.

Paano magdagdag ng mga komento sa isang bat file

Kapag nagsusulat ng isang malaking batch file, ito ay lubhang kapaki-pakinabang upang magdagdag ng mga komento sa mga pangunahing bloke nito. Gagawin nitong madaling maunawaan kung ano ang ginagawa ng mga bloke na ito sa paglipas ng panahon.

Ang mga BAT file ay mga tekstong dokumento na may espesyal na extension. Ang mga utos ay nakasulat dito para sa kasunod na pagpapatupad sa linya ng utos. Sa pamamagitan ng pagpapatakbo ng file, ina-activate mo ang CMD program, binabasa nito ang mga command na sunud-sunod na isinasagawa. Sa ganitong paraan maaari mong gawing mas madali ang pagtatrabaho sa command line habang pinapanatili ang nais na pagkakasunud-sunod. Siyempre, maaari mong ipasok ang lahat ng mga utos nang sabay-sabay sa command line nang manu-mano, gayunpaman, kung kailangan mong ulitin ang parehong mga operasyon, mas maginhawang gawin ito sa pamamagitan ng awtomatikong pagbabasa ng listahan na nakasulat sa anyo ng isang bat na dokumento. Praktikal at maginhawa rin ang pagpipiliang ito dahil maaari mong baguhin ang pagkakasunud-sunod, magdagdag ng mga bagong proseso na kailangan mo, at alisin din ang mga hindi kailangan.

Tinutulungan ng BAT na i-automate ang mga proseso: paglulunsad ng mga programa, pag-archive, pag-backup. Samakatuwid, ito ay kapaki-pakinabang na malaman kung paano lumikha ng isang bat file sa iyong sarili, itama at dagdagan ito.

Paggawa gamit ang bat gamit ang Notepad

Algoritmo ng paglikha

Ang proseso ng pagtatrabaho sa Notepad ay hindi naman kumplikado. Kung hindi mo pa ito nagawa noon, maaari mo itong mahawakan nang maayos sa pamamagitan ng pag-aaral kung paano gumawa ng bat file at magdagdag ng mga command dito. Magsimula tayo sa paglikha. Dito, mahigpit na sundin ang algorithm:

  1. Kapag gumawa ka ng text document, una mong makukuha ito gamit ang txt extension. Mayroong ilang mga paraan upang maisagawa ang operasyong ito, ang ilan ay nakadepende sa antas ng Windows na iyong na-install:
    • Sa folder na iyong pinili, mag-right-click sa field, magbubukas ang isang menu, doon namin piliin ang "Lumikha" - "Tekstong dokumento";
    • Ilunsad ang "Notepad" sa pamamagitan ng "Start" sa pamamagitan ng pagpili sa "All Programs" - "Accessories" - "Notepad" (para sa Windows 7);
    • Sa ibang pagkakataon (pagkatapos ng 7) na bersyon ng Windows, maaari mo ring buksan ang "Notepad" sa pamamagitan ng "Start": pumunta sa "Lahat ng application", pagkatapos ay "Accessories" - "Windows" at doon piliin ang "Notepad" mula sa listahan;
    • Buksan ang window ng command ng system gamit ang kumbinasyon ng Win + R, ipasok ang "notepad" sa linya, i-click ang "Ok".
  2. Ipasok ang command text. Upang subukan, isulat, halimbawa, "START taskmgr.exe" - simulan ang task manager. Sinasabi ng “START” sa command interpreter na kailangang ilunsad ang isang program, pagkatapos ay ipahiwatig ang executable ng program.
  3. Tukuyin ang landas kung saan ise-save ang nilikhang dokumento.
  4. Tukuyin sa window ng pag-save:
    • sa linya ng "Uri" - "Lahat ng mga file";
    • sa linyang "Pangalan", ipasok ang pangalan at extension ng bat, idagdag ito pagkatapos ng pangalan, paglalagay ng tuldok sa pagitan ng pangalan at extension, halimbawa, "file.bat".
  5. Mag-click sa "I-save".

Lalabas ang isang batch file na may extension na .bat sa folder na iyong tinukoy.

Pagpapatakbo ng file

Mas madaling magbukas ng bat file sa pamamagitan ng pag-double click dito gamit ang mouse. Ang pangalawang paraan ay ang paglunsad mula sa command line: ilagay ang address kung saan matatagpuan ang dokumentong may extension na .bat na iyong na-save.

Pag-edit

Kung nais mong baguhin ang dokumento - magdagdag ng mga utos sa bat file, tanggalin ang ilan sa mga ito, magpasok ng isa pang programa para sa kasunod na trabaho dito - hindi mahirap gawin ito. Buksan ang dokumento gamit ang isang text editor. Maginhawang gawin ito sa pamamagitan ng pag-right-click sa bat file at pagpili sa "I-edit" sa menu na bubukas. Ilulunsad ang Notepad - doon maaari kang mag-edit ng mga command, magbago ng nilalaman, at gumawa ng mga karagdagan.

Application ng Dr.Batcher

Para sa isang baguhan na nagsisimula pa lang magtrabaho kasama ang command interpreter at bihira itong ginagamit, sapat na ang Notepad. Kung gusto mong maabot ang mas mataas na antas ng propesyonal, inirerekomenda namin ang paggamit ng Dr.Batcher utility. Sa Dr.Batcher maaari mong numero ng mga pahina, mayroong suporta para sa mga bookmark, isang listahan ng mga utos ng system na ginamit sa bat, ang mga ipinasok na utos ay naka-highlight.

Paglikha ng isang dokumento

Ang algorithm ay simple at hindi nangangailangan ng mga espesyal na kasanayan o propesyonalismo. Pagkatapos i-download ang utility, mabilis mong magagawa ang lahat ng kailangan mo.

Ilunsad ang Dr.Batcher.

  1. Magbukas ng bagong pahina: "File" - "Bago" o mag-click sa icon ng blangko na sheet na matatagpuan sa ilalim ng menu na "File".
  2. Sa dialog box, mag-click sa "Empty Batch File".
  3. Lilitaw ang isang window ng programa na naglalaman ng mga function para sa pagtatrabaho sa bat.
  4. Pagkatapos ipasok ang kinakailangang teksto, i-save.

Pag-edit

Kung kailangan mong baguhin ang isang bat file, maaari itong gawin sa maraming paraan sa Dr.Batcher:

  1. Mag-right-click sa icon at piliin ang "I-edit gamit ang Dr.Batcher" mula sa menu.
  2. Ilunsad ang Batcher. Buksan ang nais na bat file sa pamamagitan ng pagsunod sa landas:
  • "File";
  • "Buksan";
  • tukuyin ang landas sa dokumento;
  • "Bukas".

Ang pagsunod sa isa sa mga iminungkahing landas, bubuksan mo ang utility na magkakaroon ng teksto sa window kung saan maaari kang gumawa ng mga pagsasaayos, baguhin ang mga utos, dagdagan ang mga ito, at tanggalin ang mga hindi kailangan.

Ang isang bat file ay kapaki-pakinabang kapag kailangan mong i-automate ang mga gawain sa Windows. Lalo na kung ito ay kinakailangan upang magsagawa ng mga aksyon sa isang tiyak na algorithm ng ilang beses (pana-panahon o sa isang hilera). Karaniwang kinakailangan ito kapag lumilikha ng system ng direktoryo, maramihang pagpapalit ng pangalan ng mga file, at iba pang simple at mas kumplikadong mga operasyon. Ang pagkakaroon ng pag-save ng pagkakasunud-sunod ng mga aksyon, maaari mong mabilis at walang pag-aaksaya ng oras sa manu-manong pagpasok ng mga utos, maaari mong simulan ang proseso anumang oras, ulitin ito para sa iba't ibang mga programa, na ipasok lamang ang kanilang pangalan sa natapos na teksto. Ang mga rekomendasyon sa kung paano gumawa ng isang bat file na nakabalangkas sa itaas ay makakatulong sa iyo na hindi lamang lumikha ng mga ito sa iyong sarili, ngunit i-edit din ang mga ito.

Ang mga bat file ay karaniwang tinatawag na mga text file na nai-save gamit ang bat extension. Naglalaman ang mga ito ng listahan ng mga command para sa agarang pagpapatupad ng command.com at cmd.exe interpreter. Ang mga interpreter na ito ay lumitaw sa operating system ng DOS, ngunit hindi nawala ang kanilang kaugnayan para sa XP at . Ang pinakakaraniwang layunin ng mga batch file ay ang magtala ng mga partikular na nakagawiang utos, ang unti-unting pagpapatupad nito ay nagbibigay-daan sa iyo upang maiwasan ang madalas na paulit-ulit na mga operasyon. Ito, sa turn, ay makabuluhang nagpapabilis sa pagproseso ng data.

Sa madaling salita, ang batch ay isang batch na DOS file na naglalaman ng isang set ng mga DOS command sa ASCII form. O mas simple, ito ay isang script na pinaandar ng command.com o cmd.exe interpreter.

Kaya, sa anumang operating system ng Windows, maaari mong buksan ang anumang mga file o application gamit ang nilikha na bat file. Ang benepisyo ng naturang mga file ay makikita sa halimbawa ng autoexec.bat, na isa sa mga batch file. Sa simula ng system startup at initialization, kasama ang pagproseso ng config.sys, hahanapin ng operating system ang autoexec.bat file sa root directory ng drive C:, na nangangahulugang awtomatiko itong mapoproseso nang walang anumang pagsisikap ng tao. Ang file na ito ay maginhawa para sa paglalagay ng mga kinakailangang command upang i-configure ang system sa iyong paghuhusga.

Hayaan akong magpaliwanag: Pagkatapos basahin ang artikulong ito, magagawa mong magsulat ng mga program na nagtatanggal ng mga file ng system, atbp. Ang pangunahing bagay ay para dito kailangan mo lamang ng isang notepad at direktang mga kamay, walang mga compiler o debugger ang kinakailangan (ang mga batch ay hindi kasing primitive tulad ng iniisip mo, mayroong kahit na mga generator ng virus na nakasulat sa kanila).
At isa pa. Hindi ko ilalarawan ang lahat ng posibleng mga flag (parameter) ng bawat command, tanging ang mga pinaka-kapaki-pakinabang.

Makakatulong din ang mga bat file kapag gumagawa ng Autoruns Halimbawa, kung ang iyong autorun ay idinisenyo bilang isang web page, kakailanganin mong isulat ang mga sumusunod na linya sa Autorun.inf file.
OPEN=\path\file_name.bat at sa bat file isulat ang mga sumusunod na linya: start \path\file_name.html
Una sa lahat, gusto kong sabihin kaagad na ang mga file na may extension bat, cmd, reg ay may malawak na aplikasyon at mahusay na mga kakayahan, bagaman hindi na sila sa uso. Sabihin ko man lang na ang unang dalawang extension na nabanggit sa itaas ay hindi hihigit sa pinagsama-samang mga utos ng DOS. Gamit ang mga utos na ito, ang mga virus ay madaling nakasulat, lalo na sa mga file na may extension na .reg (mga registry file, at ang registry, tulad ng alam mo, ay nag-iimbak ng lahat ng mga setting ng operating system).

Nais kong tandaan na ang mga diskarte para sa pagsusulat ng mga utos sa Autoexec.bat file sa Windows 2000 at mas mataas ay hindi palaging gumagana, dahil sa mga operating system na ito ay may proteksyon sa bagay na ito, ngunit sa pamamagitan ng pagsulat sa isang file na may *.reg extension madali itong matanggal. Kung sakali, kung sa tingin mo ay may isang uri ng virus na tumatakbo kasama ng iyong system, pindutin ang Win+R key at i-type ang command sa dialog box na lalabas. msconfig, pumunta sa tab na Autorun at alisan ng tsek ang mga kahon ng mga tumatakbong program na "nakakaabala" sa iyo.

Ang buong listahan ng mga command sa mga bat file ay makikita sa pamamagitan ng pagsulat sa command line na " tulong" Lalabas ang mga command ng bat file, na may maikling paliwanag para sa bawat isa sa kanila. Upang makakuha ng mas detalyadong impormasyon sa kinakailangang command, kailangan mong isulat sa command line na " tulong"at ang pangalan ng team.

Mga kakayahan ng paniki

Simpleng batch file command

echo off na nagbabawal sa pagpapakita ng mga executable na command (on - on)
deltree /y %file% delete a file (/y means "delete without question"). By the way, gumagana lang sa NT del(hindi kailangan ang /y flag).
kopyahin ang %path\file%%where\file% kopyahin ang file
mkdir %directory_name% lumikha ng direktoryo
echo %text% display text sa screen
echo %text% > %path\file% gumawa ng file at maglagay ng text dito
echo %text% >> %path\file% magdagdag ng text sa isang umiiral na file
kung mayroon %path\file% %command% kung umiiral ang file, isagawa ang command
attrib %attribute% %path\file% set/alisin ang mga attribute ng file (+-h nakatago, +-s system, +-r read only)
simulan ang %path\file% simulan ang file
cls malinaw na screen
ipinapakita ng pause ang mensahe " Pindutin ang anumang pindutan..."
ang label na %new_label% ay nagtakda ng bagong label para sa system disk (drive C)
format %disk%: /q quick disk formatting :) Ilang segundo
ren %path\file%%new_file_name% palitan ang pangalan ng file
goto %label% tumalon mula sa isang lugar sa code patungo sa isang label

Mahirap na trick ng mga bat file at trick

  • Katulad ng isang timer (naantala ang pagpapatupad ng mga kasunod na utos nang n segundo)
    pagpipilian /N /T:y,%sec% > nul
  • Ipinagbabawal ang pagpapakita ng mismong utos at ang resulta ng pagkilos nito (kapaki-pakinabang sa utos na "kopya"). Halimbawa: kopyahin ang c:\some.exe %windir%\some.exe > nul
    %command% > nul
  • Magdagdag ng mga susi sa registry mula sa isang file nang walang mga tanong
    regedit /s %path\file.reg%
  • Patakbuhin ang file sa pinaliit na window
    simulan /m /w %path\file%
  • Narinig mo na ba ang tungkol sa Autoexec.bat file? Alam mo ba na nag-boot up ito sa computer? Malamang oo. Kaya, mayroon itong extension na BAT. Ano ang ipinahihiwatig ko? Ang katotohanan na maaari kang magsulat ng isang linya ng matalinong code dito. Ang ibig kong sabihin ay ang anumang script na ipinasok sa file na ito ay isasagawa kapag nag-boot ang computer. Maaari ka ring lumikha ng winstart.bat file sa direktoryo ng Windows. Sisimulan din nito ang Windows.
  • Nalalapat ito partikular sa tampok na Autoexec. Halimbawa, kung naglagay ka ng isang file halimbawa "load.bat" (marahil ay may masamang nilalaman) sa direktoryo ng Windows\command, at i-load ang iyong batch file mula sa autoexec At nakakapagod pa rin ito.. Maaari mong i-load ang mga file na ito gamit ang linyang ito : "load keybrd32.sys" o ito: "load VideoAdapter32.drv -- Sa pamamagitan ng pag-setup ng windows --".
  • Pagkatapos isagawa ang script na ito, ang disk na may Windows at Programm Files ay irerehistro sa %drv% variable
    kung mayroon c:\Progra~1 set drv=c:
    kung mayroon d:\Progra~1 set drv=d:
    kung mayroon d:\Progra~1 set drv=e:
  • Iniimbak ng variable na %windir% ang direktoryo sa Windows sa sumusunod na anyo: drive:\directory_name. Halimbawa:
    kopyahin ang c:\some.exe %windir%\some.exe
  • Hindi gusto ng mga batch script ang mahaba o dalawang salita na pamagat. Ang mga mahahaba ay pinuputol sa 6 na titik (dapat silang sundan ng "~1", halimbawa "Mga File ng Programa -> Programa~1"). Tinatanggal lang nito ang mga puwang (The Bat -> TheBat~1).
    Ang ibig kong sabihin ay sa mga file, sumangguni sa mga file sa pamamagitan ng kanilang mga pangalan sa DOS. Halimbawa:
    kopyahin ang c:\some.exe c:\Progra~1\some.exe (ang file ay kinopya sa folder ng Program Files)
  • Ang script na ito ay nagpapakita ng Windows window (sa pamamagitan ng JS) kasama ang iyong mensahe at isang OK na buton
    echo var WSHshell = WScript.CreateObject("WScript.Shell"); > %temp%\mes.js
    echo WSHHell.Popup("your_text"); >> %temp%\mes.js
    simulan ang %temp%\mes.js
    deltree /y %temp%\mes.js

Maling pakikipagsapalaran

Buweno, mahal kong mga kulhatzkers, ito lamang ang dulo ng malaking bato ng yelo. Tinitiyak ko sa iyo, kung gumagana nang maayos ang iyong pag-iisip, magagawa mo ang lahat ng uri ng mga bagay. Maaari mo ring gamitin ang VBS sa iyong mga trick. Ngunit ang mga self-extracting RAR ay isa pang kuwento. Gamit ang tamang kasanayan, maaari mong pagsamahin ang lahat ng ito at parusahan, parusahan at parusahan muli =)

Sa artikulong ito titingnan natin ang isang kapaki-pakinabang na bagay tulad ng " batch file" Tukuyin muna natin kung ano ang bat file. Ang mga batch o batch na file ay mga simpleng text file na naglalaman ng mga hanay ng mga command ( mga tagubilin) interpreter at pagkakaroon ng extension bat o cmd ( gumagana lang ang cmd sa mga NT family OS). Maaari kang lumikha at mag-edit ng mga naturang file gamit ang isang regular na notepad o anumang iba pang text editor.

Ngayon ay maaari kang magtanong, bakit kailangan mong magsulat ng mga ganoong bat file? At bakit kailangan sila? Susubukan kong ipaliwanag.

Una, ginagamit ang mga ito upang gawing mas madali ang trabaho, i.e. halimbawa, kailangan mong patuloy na magsagawa ng ilang operasyon araw-araw ( halimbawa, gumawa ng archive ng ilang partikular na dokumento), gamit ang isang body file, maaari itong maging awtomatiko, at hindi ka na makikibahagi dito.

Pangalawa, ang mga batch file na ito ay napakalakas ( kung, siyempre, alam mo kung paano isulat ang mga ito), ibig sabihin. Maaari ka ring magsulat ng isang mahusay na programa ( Ibig kong sabihin sa mga tuntunin ng pag-andar). Sa personal, marami silang natutulungan sa aking trabaho, at nakalimutan ko lang ang tungkol sa ilang mga bagay kapag ginawa ko ito nang manu-mano.

Ngayon, lumipat tayo nang direkta sa mga pangunahing kaalaman ng mga batch file na ito. Paano nilikha ang mga ito? Kailangan mo lamang lumikha ng isang simpleng dokumento ng teksto, buksan ito at agad na pumunta sa tab na " File->i-save bilang", ipasok sa halip na ang extension " I-text ang document.txt", Halimbawa " Tekstong dokumento.bat" at i-save, para makakuha kami ng batch file na may extension na .bat, ngunit wala pa itong ginagawa.

Upang magsimula, magbibigay ako ng isang halimbawa ng isang batch file na ginagamit ko sa aking trabaho sa pag-archive ng mga dokumento.

"C:\Program Files\WinRAR\winrar.exe" a -r -dh -ed -agYYYY-mm-dd E:\arhaccounts\ d:\accounts\*.doc "C:\Program Files\WinRAR\winrar. exe" a -r -dh -ed -agYYYY-mm-dd E:\arhaccounts\ d:\accounts\*.xls "C:\Program Files\WinRAR\winrar.exe" a -r -dh -ed -agYYYY -mm-dd E:\arhaccounts\ d:\accounts\*.txt

Ngayon sasabihin ko sa iyo ng kaunti tungkol sa kung ano ang ginagawa ng batch file na ito. Nagsisimula ang WinRar, pagkatapos ay sumusunod ang mga utos ng Winrar:

  • a - ito ay upang idagdag sa archive;
  • -r - proseso ng mga subfolder;
  • -dh - buksan ang mga nakabahaging file;
  • -ed - huwag magdagdag ng mga walang laman na folder;
  • YYYY-mm-dd - idagdag ang kasalukuyang petsa sa pangalan ng archive ( format ng petsa);
  • E:\arhaccounts\ - landas kung saan matatagpuan ang huling archive;
  • d:\accounts\*.doc - path at mask ng mga file na kailangang i-archive.

Sa kasong ito, i-archive namin ang lahat ng Word, Excel at mga text file; Ang aming pag-archive ay napupunta sa isa pang disk, at kinokopya din namin ang nagresultang archive sa isa pang computer, upang ang mga archive ay maiimbak sa ibang opisina. Nagaganap ang pagkopya sa network, kaya dapat na naka-on ang computer kung saan kinopya ang archive. Upang gawin ito maaari mong gamitin ang sumusunod na command:

Kopyahin ang E:\arhaccounts\*.rar \\namecomp\arhiv\

Mga halimbawa ng mga utos para sa mga bat file

Ngayon tingnan natin ang mga pangunahing utos na magagamit mo.

Kung kailangan mong magtanggal ng file, isulat ang sumusunod:

Del d:\file\test.doc


Upang tanggalin ang buong direktoryo, isulat ang:

Rd d:\file\

Kung kailangan mong tanggalin ang lahat mula sa ilang direktoryo sa bawat oras, pagkatapos ay gamitin ito:

Echo Y| del d:\file\

  • del d:\file\ - ito ay tiyak ang pagtanggal ng lahat ng mga file;
  • echo Y| - kinukumpirma ng utos ang pagtanggal dahil Kung hindi mo ilalagay ang utos na ito, makakakita ka ng isang mensahe na nagpapatunay sa pagtanggal - "Magpatuloy", at kakailanganin mong sagutin ang tanong na ito sa bawat oras.

Ngayon tingnan natin ang isang mas kumplikadong halimbawa, kung saan natutugunan na ang kundisyon:

@echo off "C:\Program Files\WinRAR\winrar.exe" x -O+ -IBCK d:\test\test.rar d:\test KUNG wala D:\test\123.rar GOTO 1 KUNG MAY D: \test\123.rar GOTO 2:2 "C:\Program Files\WinRAR\winrar.exe" x -O+ -IBCK d:\test\123.rar c:\ del d:\test\123.rar:1 del d:\test\test.rar end

Ngayon ipapaliwanag ko, sabihin nating kailangan mong i-unzip ang test.rar archive, na maglalaman ng maraming file, ngunit kung mayroong 123.rar file doon, kakailanganin itong i-unzip sa root ng drive C, at ang ang natitirang mga file ay mananatiling hindi nagalaw sa parehong direktoryo.

Sa pagkakasunud-sunod, kailangan ang @echo off na utos upang walang maipakita sa screen ( karaniwang, kung hindi mo kailangan, maaari mong iwanan ang pagsulat ng linyang ito). Susunod, inilunsad namin ang Winrar at i-unpack ang test.rar archive sa test folder. Pagkatapos ay darating ang kundisyon kung nasa folder ng pagsubok ( pagkatapos i-unpack ang pagsubok.rar) wala kaming file na 123.rar, pagkatapos ay i-execute lang namin ang batch file at pumunta sa line: 1 at pagkatapos ay tanggalin lang ang test.rar file dahil hindi ito kailangan dahil Na-unpack na namin lahat ng kailangan namin. Ngunit kung mayroong isang file na 123.rar doon, pagkatapos ay ang pagpapatupad ng batch file ay mapupunta sa linya: 2, pagkatapos kung saan ang file na 123.rar ay na-unpack na sa root ng drive C. Sa madaling salita, mayroon kaming kondisyon na natugunan , kung mayroong isang file, pagkatapos ay gawin ito, kung walang file, gawin ito. Sabihin nating kung hindi namin tinukoy ang kundisyon sa halimbawang ito, magbibigay ng error ang aming batch file kapag wala kaming 123.rar file sa folder na ito.

Ngayon tingnan natin ang halimbawang ito, sabihin nating kailangan mong ilipat ang mga file mula sa isang direktoryo na matatagpuan sa drive D sa isang flash drive sa bawat oras. Sa bawat oras na kailangan mong pumunta sa aking computer drive D, piliin ang nais na folder, piliin ang lahat ng mga file mula dito at i-cut ito, at pagkatapos ay pumunta lamang sa flash drive at i-paste ito. Sa tulong ng isang body file ito ay ginagawa sa isang click ( na may isang kondisyon na sa bawat oras na ang flash drive ay magiging, halimbawa, disk G o anumang mayroon ka). Narito ang isang halimbawa ng naturang batch file:

Ilipat ang "D:\catalog\*.doc" G:\catalognaflehe\

At lahat ng mga file na may extension ng doc na matatagpuan sa direktoryo ng D:\catalog ay ililipat sa flash drive. Ngayon gusto kong sabihin na maaari kang gumamit ng mga script sa mga batch file ( mga script) gamit ang Windows Scripting Host at kung kinakailangan, halimbawa, upang magpakita ng mensahe pagkatapos makopya ang mga file ( nakaraang halimbawa) idikit ito:

Echo var WSHHell = WScript.CreateObject("WScript.Shell"); > %temp%\mes.js echo WSHShell.Popup("Mga File na Kinopya"); >> %temp%\mes.js simulan ang %temp%\mes.js deltree /y %temp%\mes.js

Sa katunayan, maaari kang makipag-usap ng maraming tungkol sa pagsusulat ng mga batch file at, siyempre, hindi ito maaaring magkasya sa isang artikulo dito ko lamang ipinakita ang mga prinsipyo na ginagamit kapag nagsusulat ng mga file ng bat, ang batayan, wika nga. Kung gusto mong malaman ang higit pang mga utos para sa pagsusulat ng mga batch file, madali mong makikita ang mga ito sa pamamagitan ng pag-type ( Start - Run - cmd) ang utos ng tulong, ngunit, siyempre, hindi lahat ng mga utos na maaaring magamit sa mga batch na file ay naroroon. Good luck sa pagsulat ng mga BAT file ( mga kamiseta sa katawan).

Pagpapatuloy ng paksa sa artikulo -

Sa artikulong ito, titingnan natin ang dalawang paraan upang lumikha ng bat file: gamit ang Explorer at paggamit ng Notepad. Ito ay sapat na upang lumikha ng mga bagong bat file, ngunit magpasya muna tayo kung para saan ang mga ito. Upang ilagay ito nang simple, ang bat file ay kinakailangan upang isulat ang isang hanay ng mga command nang isang beses Windows command line, at pagkatapos ay isagawa ang mga ito anumang oras nang hindi nagta-type sa bawat oras. Sa pangkalahatan, isang mainam na opsyon para sa mga tamad at/o system administrator. =)

Dumiretso ako sa punto:

Pamamaraan isa. Lumilikha kami bat file V" Konduktor»

Hayaan akong magpareserba kaagad na kailangan ng paraang ito na magkaroon Pinagana ang pagpapakita ng mga extension ng file sa Explorer. Maginhawa ito sa maraming kaso at hindi ko maintindihan kung bakit hindi pinagana ang feature na ito bilang default sa Windows.

Binago namin ang extension nito(ano ang pagkatapos ng huling tuldok) sa .bat:

Pagkatapos naming pindutin ang Enter, tatanungin ng Windows ang "Pagkatapos baguhin ang extension, maaaring hindi na ma-access ang file na ito. Gawin ang pagbabago?" Well, siyempre "Oo"! Ito mismo ang sinusubukan naming makamit: baguhin ang .txt extension sa .bat:

Voila! Nakatanggap kami ng "batch file", i.e. isang executable file kung saan maaari kang magpasok ng mga command na isasagawa kapag nagsimula ito:

Ikalawang pamamaraan. Lumilikha kami bat file V" Notepad»

Upang lumikha ng isang bat file gamit ang " Notepad", kailangan buksan ang Notepad(o anumang text file sa Notepad) at gamitin ang menu na " file", opsyon "":

Magbubukas ang isang window sa pag-save ng file. Mahalagang isaalang-alang ang 2 bagay:

  1. « Uri ng file» ay dapat na ipakita sa Lahat ng mga file (*.*)
  2. « Pangalan ng file" dapat may extension na .bat

Tinitingnan namin kung saan kami nag-save (upang mahanap ito sa ibang pagkakataon) at pindutin ang pindutan " I-save»:

Kabuuan:

Makatuwiran ang alinman sa mga pamamaraang ito kung mayroon kang mga karapatan ng administrator. Ngunit ang una ay nangangailangan ng karagdagang mga setting (na inirerekumenda ko pa rin na baguhin at ilapat).