Kaip parašyti paketinį scenarijų sistemoje "Windows"

Turinys:

Kaip parašyti paketinį scenarijų sistemoje "Windows"
Kaip parašyti paketinį scenarijų sistemoje "Windows"

Video: Kaip parašyti paketinį scenarijų sistemoje "Windows"

Video: Kaip parašyti paketinį scenarijų sistemoje
Video: Efektyvus keletos "Google AdWords" paskyrų valdymas (įrašas anglų kalba) - YouTube 2024, Balandis
Anonim
Ar žinote, kaip naudoti komandinę eilutę? Jei tai padarysite, galite parašyti paketinį failą. Paprastesnėje formoje paketinis failas (arba paketinis scenarijus) yra kelių komandų sąrašas, kuris yra vykdomas du kartus spustelėjus failą. Paketiniai failai grįžta atgal į DOS, tačiau vis dar dirba su šiuolaikinėmis "Windows" versijomis.
Ar žinote, kaip naudoti komandinę eilutę? Jei tai padarysite, galite parašyti paketinį failą. Paprastesnėje formoje paketinis failas (arba paketinis scenarijus) yra kelių komandų sąrašas, kuris yra vykdomas du kartus spustelėjus failą. Paketiniai failai grįžta atgal į DOS, tačiau vis dar dirba su šiuolaikinėmis "Windows" versijomis.

"PowerShell" scenarijai ir "Bash" scenarijai gali būti galingesni, tačiau paketiniai failai vis tiek gali būti labai naudingi, jei jums reikia paleisti pagrindines "Windows" komandas.

Baterijos pagrindai

Serijinis failas yra tiesiog tekstinis failas, įrašytas su.bat failo plėtiniu. Galite parašyti vieną naudodami Notepad arba patobulintą teksto redaktorių, pvz., "Notepad ++", bet nenaudokite tokio žodžio procesoriaus kaip "Microsoft Word".

Sukursime paprastą paketinį failą. Pirmiausia atidarykite "Notepad". Įveskite šias eilutes:

ECHO OFF ECHO Hello World PAUSE

Tada išsaugokite failą spustelėdami File> Save. Nurodykite bet kokį pavadinimą, bet pakeiskite numatytąjį.txt failo plėtinį.bat plėtiniu.
Tada išsaugokite failą spustelėdami File> Save. Nurodykite bet kokį pavadinimą, bet pakeiskite numatytąjį.txt failo plėtinį.bat plėtiniu.

Pavyzdžiui, galbūt norėsite jį pavadinti

hello_world.bat

Dabar turite paketinį failą su.bat failo plėtiniu. Dukart spustelėkite jį, kad paleistumėte. Šis konkretus paketinis rinkinys išjungia ECHO (kuris išvalo išvestį, slepia komandas nuo atspausdinimo eilutėje, ekrane spausdina tekstą "Hello World" ir laukia, kol paspausite klavišą, kol jis baigiasi.
Dabar turite paketinį failą su.bat failo plėtiniu. Dukart spustelėkite jį, kad paleistumėte. Šis konkretus paketinis rinkinys išjungia ECHO (kuris išvalo išvestį, slepia komandas nuo atspausdinimo eilutėje, ekrane spausdina tekstą "Hello World" ir laukia, kol paspausite klavišą, kol jis baigiasi.

Jei neįtraukėte

PAUSE

į failą, paketinis failas tiesiog paleidžia savo komandas ir automatiškai uždaro. Tokiu atveju "Window Hello World" būtų atspausdintas langas ir iškart uždarytas komandų eilutės langas. Jei norite greitai paleisti komandas nematydami išvesties, galite tai praleisti. Jei naudojate kelias komandas, galite įdėti

PAUSE

vadovauti tarp jų.

Image
Image

Sudėtingesnio paketo failo parašymas

Iš esmės paprasta kurti serijinį failą. Vienintelis dalykas, kurį reikia keisti, yra tai, ką įvedate į Notepad. Norėdami paleisti kelias komandas, kiekvieną iš jų įvesite savo eilutėje, o paketinis failas bus rodomas kiekviename eilėje.

Pavyzdžiui, tarkime, mes norime parašyti serijinį failą, kuriame veikia kelios tinklo diagnostikos komandos. Mes galbūt norėsime paleisti

ipconfig /all

peržiūrėti tinklo informaciją

ping google.com

ar "Google" serveriai reaguoja, ir

tracert google.com

paleisti "traceroute" į google.com ir pamatyti, ar kyla kokių nors problemų.

Labiausiai paprastoje formoje mes galime paprasčiausiai visas šias komandas įdėti į serijinį failą, vieną po kito, taip:

ipconfig /all ping google.com tracert google.com PAUSE

Kai paleisime šį failą, mes tiesiog pamatysime kiekvienos komandos išeitį iškart po kito. Bet tai nebūtinai yra idealus būdas parašyti serijinį failą.

Pavyzdžiui, galbūt norėsite pridėti komentarų eilutes. Bet kuri linija, prasidedanti a
Pavyzdžiui, galbūt norėsite pridėti komentarų eilutes. Bet kuri linija, prasidedanti a

::

yra komentarų eilutė ir nebus vykdoma. Tai padaro juos naudingą būdą paaiškinti, kas vyksta byloje visiems, su kuriais galite tai duoti, arba savo būsimam asmeniui, kuris gali pamiršti, kodėl ten įdėjote tam tikrą komandą.

Galite taip pat įtraukti komandą "ECHO OFF" į failo pradžią. Tai paprastai pridedama prie daugelio partijos rinkmenų pradžios. Kai tai padarysite, pačios komandos nebus atspausdintos komandų eilutėje, tačiau rezultatai bus. Pavyzdžiui, pamatysite tinklo ryšio duomenis, bet ne eilutę "ipconfig / all". Daugeliui žmonių nereikia matyti komandų, todėl tai gali išvalyti produkciją.

Taigi, tai gali atrodyti taip:

:: This batch file checks for network connection problems. ECHO OFF:: View network connection details ipconfig /all:: Check if Google.com is reachable ping google.com:: Run a traceroute to check the route to Google.com tracert google.com PAUSE

Yra ir kitos kryptys, kurias galite naudoti su tokiu paketiniu failu. Pavyzdžiui, galbūt norėsite, kad jūsų paketo scenarijus paleistumėte anksčiau nurodytas komandas ir tada išmeskite išvestį į teksto failą, kurį galite peržiūrėti vėliau. Norėdami tai padaryti, naudokite
Yra ir kitos kryptys, kurias galite naudoti su tokiu paketiniu failu. Pavyzdžiui, galbūt norėsite, kad jūsų paketo scenarijus paleistumėte anksčiau nurodytas komandas ir tada išmeskite išvestį į teksto failą, kurį galite peržiūrėti vėliau. Norėdami tai padaryti, naudokite

>>

operatorius po kiekvienos komandos pridėti savo išvestį į tekstinį failą. Vis tiek turėsime skaityti išvesties iš teksto rinkmenos, bet galime praleisti

PAUSE

komanda

:: This batch file checks for network connection problems:: and saves the output to a.txt file. ECHO OFF:: View network connection details ipconfig /all >> results.txt:: Check if Google.com is reachable ping google.com >> results.txt:: Run a traceroute to check the route to Google.com tracert google.com >> results.txt

Paleidus anksčiau aprašytą scenarijų, failą pavadinimu results.txt rasite tame pačiame aplanke, kuriame yra serijinis failas su komandų išvedimu. Komandų eilutės langas automatiškai bus uždarytas, kai serijinis failas bus baigtas.

Pavyzdys, kurį naudojame aukščiau, priklauso nuo faktinio informacijos spausdinimo su komandinės eilutės, kad vartotojas galėtų jį perskaityti. Tačiau daugelis paketinių failų yra suprojektuoti veikti neinteraktyviai. Pavyzdžiui, jūs galite turėti paketinį failą, kuris du kartus paspaudžia jį ištrina keletą failų ar katalogų. Jums tiesiog reikia naudoti
Pavyzdys, kurį naudojame aukščiau, priklauso nuo faktinio informacijos spausdinimo su komandinės eilutės, kad vartotojas galėtų jį perskaityti. Tačiau daugelis paketinių failų yra suprojektuoti veikti neinteraktyviai. Pavyzdžiui, jūs galite turėti paketinį failą, kuris du kartus paspaudžia jį ištrina keletą failų ar katalogų. Jums tiesiog reikia naudoti

del

komandą ištrinti failus arba

deltree

komandą ištrinti katalogus. Atminkite, kad jūs tiesiog naudojate tas pačias komandas, kurias norite paleisti komandų eilutės lange.

Iš esmės tai yra daugelio paketinių rinkmenų taškas - tiesiog paleidžiama kelios komandos viena po kito. Tačiau partijos failai gali būti žymiai sudėtingesni už šį. Pavyzdžiui, galite naudoti "IF" kartu su "GOTO" komandą patikrinti kažko vertę ir tada praleisti į skirtingas eilutes priklausomai nuo rezultato. Tai labiau kaip rašyti tikrą mažą programą nei greitas ir purvinas scenarijus. Tai yra viena iš priežasčių, kodėl.bat failai kartais vadinami "paketinėmis programomis". Jei norite atlikti kažką sudėtingesnio, rasite daugybę nurodymų, kaip atlikti konkrečius dalykus su serijiniu programavimu internete. Bet dabar jūs žinote, kaip paprasta išmėginti kartu.

Rekomenduojamas: