Kā uzrakstīt sērijveida skriptu sistēmā Windows

Vai jūs zināt, kā izmantot komandu uzvedni? Ja jūs to izdarīsit, varat rakstīt pakešfailu. Vienkāršākajā formā pakešfails (vai pakešu skripts) ir vairāku komandu saraksts, kas tiek izpildīti, veicot dubultklikšķi uz faila. Sērijveida faili atgriežas līdz DOS, taču tie joprojām darbojas ar modernām Windows versijām.

PowerShell skripti un Bash skripti var būt jaudīgāki, taču sērijveida faili joprojām var būt daudz noderīgi, ja jums ir nepieciešams palaist pamata Windows komandas.

Paketes failu pamati

Pakešfails ir vienkārši teksta fails, kas saglabāts ar .bat faila paplašinājumu. Varat to uzrakstīt, izmantojot Notepad vai modernāku teksta redaktoru, piemēram, Notepad ++, taču neizmantojiet tādu vārdu procesoru kā Microsoft Word.

Izveidosim vienkāršu pakešfailu. Vispirms atveriet Notepad. Ierakstiet tajā šādas rindas:

ECHO IZSLĒGTS ECHO Hello World PAUSE

Pēc tam saglabājiet failu, noklikšķinot uz Fails> Saglabāt. Piešķiriet tam jebkuru vārdu, kas jums patīk, bet aizstājiet noklusējuma .txt faila paplašinājumu ar .bat paplašinājumu.

Piemēram, jūs varētu to nosaukt hello_world.bat.

Tagad jums ir pakešfails ar .bat faila paplašinājumu. Veiciet dubultklikšķi uz tā, lai palaistu. Šis konkrētais pakešfails izslēdz ECHO (kas attīra izvadi, slēpjot komandas, lai uzvedne netiktu drukāta, ekrānā izdrukātu tekstu “Hello World” un pēc tam gaida, kamēr jūs nospiedīsit taustiņu, pirms tas beidzas.

Ja jūs nepievienojat PAUSEfailam, pakešfails vienkārši palaistu komandas un pēc tam automātiski aizvērtu. Šajā gadījumā tas logā drukātu “Hello World” un pēc tam nekavējoties aizvērtu komandu uzvednes logu. Ja vēlaties ātri izpildīt komandas, neredzot izvadi, to varat izlaist. Ja jūs izmantojat vairākas komandas, varat ievietot PAUSEkomandu starp tām.

Sarežģītākas pakešdatnes rakstīšana

Sērijveida izveidošana ir principiāli vienkārša. Vienīgais, kas jums jāmaina, ir tas, ko ievadāt Notepad. Lai palaistu vairākas komandas, katra no tām tiek ierakstīta savā rindā, un pakešfails palaidīs katru secībā.

Piemēram, pieņemsim, ka mēs vēlamies rakstīt pakešfailu, kas izpilda vairākas tīkla diagnostikas komandas. Mēs varētu vēlēties palaist, ipconfig /alllai skatītu tīkla informāciju, ping google.comlai redzētu, vai Google serveri reaģē, un tracert google.compalaist traceroute uz vietni google.com un pārbaudīt, vai ceļā nav problēmu.

Visvienkāršākajā formā mēs visas šīs komandas varētu vienkārši ievietot pakešfailā vienu pēc otras, piemēram:

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

Palaidot šo failu, mēs vienkārši redzētu katras komandas izvadi tieši pēc otra. Bet tas ne vienmēr ir ideāls veids, kā rakstīt pakešfailu.

Piemēram, varat pievienot komentāru rindiņas. Jebkura rinda, kas sākas ar a, ::ir komentāru rindiņa un netiks izpildīta. Tas padara viņus par noderīgu veidu, kā izskaidrot, kas notiek failā, ikvienam, kam jūs to varat dot, vai arī jūsu nākotnes personai, kurš varētu aizmirst, kāpēc jūs tur ievietojat noteiktu komandu.

Varat arī pievienot faila sākumam komandu “ECHO OFF”. Parasti tas tiek pievienots lielākās daļas pakešfailu sākumam. Kad jūs to izdarīsit, pašas komandas netiks izdrukātas komandu uzvednē, bet rezultāti būs. Piemēram, redzēsit tīkla savienojuma informāciju, bet ne līniju “ipconfig / all”. Lielākajai daļai cilvēku nav svarīgi redzēt komandas, tāpēc tas var iztīrīt izvadi.

Tātad, tas varētu izskatīties šādi:

:: Šis pakešfails pārbauda tīkla savienojuma problēmas. ECHO OFF: Skatīt tīkla savienojuma informāciju ipconfig / all :: Pārbaudiet, vai Google.com ir sasniedzams ping google.com :: Palaidiet traceroute, lai pārbaudītu maršrutu uz Google.com tracert google.com PAUSE

Ir arī citi norādījumi, kurus varat izmantot, izmantojot šādu pakešfailu. Piemēram, jūs varētu vēlēties, lai jūsu pakešu skripts palaistu iepriekš minētās komandas un pēc tam izvadītu tekstu uz teksta failu, kuru varat apskatīt vēlāk. Lai to izdarītu, >>pēc katras komandas izmantojiet operatoru, lai pievienotu izvadi teksta failam. Tā kā mēs tik un tā lasīsim izvadi no teksta faila, PAUSEkomandu varam izlaist .

:: Šis pakešfails pārbauda tīkla savienojuma problēmas :: un saglabā izvadi .txt failā. ECHO OFF: Skatīt tīkla savienojuma detaļas ipconfig / all >> results.txt :: Pārbaudiet, vai Google.com ir sasniedzams ping google.com >> results.txt :: Palaidiet traceroute, lai pārbaudītu maršrutu uz Google.com tracert google. com >> results.txt

Pēc iepriekš minētā skripta palaišanas tajā pašā mapē kā pakešfails ar komandu izvadi atradīsit failu ar nosaukumu results.txt. Komandu uzvednes logs tiks automātiski aizvērts, tiklīdz būs pabeigta pakešfaila darbība.

Piemērs, kuru mēs izmantojam iepriekš, balstās uz informācijas faktisku drukāšanu komandrindā, lai lietotājs to varētu izlasīt. Tomēr daudzi pakešfaili ir paredzēti darbībai bez interaktīvas darbības. Piemēram, jums var būt pakešfails, kas izdzēš vairākus failus vai direktorijus ikreiz, kad uz tā veicat dubultklikšķi. Jums vienkārši jāizmanto delkomanda failu dzēšanai vai deltreekomanda direktoriju dzēšanai. Atcerieties, ka jūs vienkārši izmantojat tās pašas komandas, kuras palaidāt komandu uzvednes logā.

Būtībā tas ir punkts lielākajai daļai pakešdatņu - vienkārši palaižot dažas komandas viena pēc otras. Tomēr pakešfaili faktiski var būt ievērojami sarežģītāki nekā šis. Piemēram, jūs varat izmantot “IF” priekšrakstus kopā ar komandu “GOTO”, lai pārbaudītu kaut kā vērtību un pēc tam pārietu uz dažādām rindām atkarībā no rezultāta. Tas vairāk līdzinās faktiskas mazas programmas rakstīšanai, nevis ātram un netīram skriptam. Tas ir viens iemesls, kāpēc .bat failus dažkārt sauc par “pakešu programmām”. Ja vēlaties veikt kaut ko sarežģītāku, jūs atradīsit daudz rokasgrāmatu, kā tiešsaistē veikt konkrētas lietas, izmantojot sērijveida programmēšanu. Bet tagad jūs zināt pamatus, kā mest vienkāršu.