Ukazi za zaustavitev paketne datoteke in čakanje: Kako nadzirati potek vaših skriptov

Ukazi Za Zaustavitev Paketne Datoteke In Cakanje Kako Nadzirati Potek Vasih Skriptov



Pri paketnem skriptiranju v sistemu Windows lahko razvijalci nadzorujejo potek vaših skriptov z različnimi tehnikami ali metodami za uvedbo premorov ali čakanj. Ukaza »premor« in »počakaj« sta dva načina za nadzor pretoka vaših paketnih datotek. Ukaz 'pavza' ustavi izvajanje paketne datoteke, medtem ko prikaže sporočilo 'Pritisnite katero koli tipko za nadaljevanje ...'. Paketna datoteka se ne more zagnati, dokler uporabnik ne pritisne tipke. Izvajanje paketne datoteke je začasno ustavljeno za toliko sekund, kot je navedeno v navodilu čakanja.

Ukaz za premor paketne datoteke

Ukaz paketne datoteke »pavza« ustavi izvajanje paketne datoteke, medtem ko prikaže sporočilo v ukazni vrstici. Paketna datoteka se ne bo zagnala, dokler uporabnik ne pritisne tipke. Ukaz, ki ustavi naslednjo izvedbo, je koristen. Koristno je neposredno zagnati paketno datoteko in videti želeni izhod na zaslonu.







Sintaksa ukaza “pause” je:



Pavza

Pozovi uporabnika za vnos

Ukaz »pause« v naslednjem paketnem skriptu prikaže sporočilo »Pritisnite katero koli tipko za nadaljevanje ...«, ko uporabnik zažene to paketno datoteko. Preden se paketna datoteka premakne na ukaz »dir«, mora uporabnik pritisniti tipko.



@echo izklopljen

rem Ta paketna datoteka se ustavi, da uporabnik pritisne tipko.

echo Pozdravljeni, dobrodošli v predstavitvi ukaza PAUSE.

echo Izvajanje skripta se po premoru nadaljuje.

pavza

rem Ta paketna datoteka se nadaljuje z naslednjim ukazom.

echo Hvala!

ti





Ko uporabnik pritisne katero koli tipko s tipkovnico, se ta paketni postopek nadaljuje:



Ukaz za čakanje na paketno datoteko

Koda, ki ste jo posredovali, je paketna datoteka, ki odpre dva programa: Notepad in Paint. Koda je naslednja:

@echo izklopljen

echo Zagon prvega programa.

START /B /POČAKAJTE notepad.exe

echo Beležnica Uspešno odprta v ozadju

echo Zagon drugega programa.

ZAGNI / POČAKAJ mspaint.exe

echo Paint je uspešno odprt.

cmd /k

Prva vrstica, »@echo off«, preprečuje, da bi paketna datoteka prikazala ukaze med njihovim izvajanjem.

Uporabnik je preprosto obveščen, da se prvi program zažene z drugo vrstico, ki je 'echo Starting First Program'.

Tretja vrstica, »START /B /WAIT notepad.exe«, odpre program Notepad v oknu v ozadju in počaka, da se konča, preden nadaljuje. Stikalo “/B” pove ukazu START, da zažene program v oknu v ozadju, stikalo “/WAIT” pa ukazu START pove, naj počaka, da se program konča, preden nadaljuje.

Četrta vrstica bere echo Notepad. Ko se Beležnica uspešno odpre v ozadju, uporabnika le obvesti s sporočilom.

Peta vrstica, »echo Starting Second Program«, preprosto prikaže sporočilo uporabniku, da se zaganja drugi program.

Šesta vrstica, »START /WAIT mspaint.exe«, odpre program Paint v oknu v ozadju in ne počaka, da se konča, preden nadaljuje.

Sedma vrstica, »echo The Paint is Opened successfully«, preprosto prikaže sporočilo uporabniku, da je bil Paint uspešno odprt.

Osma vrstica, »cmd /k«, odpre novo okno ukaznega poziva in ohrani trenutno okno ukaznega poziva odprto.

Uporaba zanke za zakasnitve po meri

Za zamude po meri v paketnem procesu lahko uporabimo zanko. Tukaj je primer:

V tem primeru je prvo sporočilo prikazano uporabniku, ko se zažene ta paketna datoteka. Prvo sporočilo se nato prikaže še enkrat, ko se začne zanka »za«. Ukaz časovne omejitve ustavi paketno datoteko za eno sekundo, preden prikaže drugo sporočilo. Končno sporočilo se nato prikaže po skupno 10 ponovitvah.

@echo izklopljen

echo Prikaz zakasnitve z uporabo zanke

za /l  %%i v (1,1,10) do (

časovna omejitev /t 1 /nobreak > nul

echo To sporočilo se prikaže po %%i  sekundah

)

echo To sporočilo je prikazalo 10-sekundno zakasnitev.

Uporaba časovne omejitve za zakasnitev

Ukaz za časovno omejitev paketne datoteke začasno ustavi izvajanje paketne datoteke za vnaprej določeno število sekund. Sintaksa je podana tukaj:

časovna omejitev /t [/nobreak]

Stikalo “/t” določa čas čakanja v sekundah. Stikalo “/nobreak” onemogoči pritiske tipk s strani uporabnika za prekinitev zakasnitve.

Ukaz »timeout« lahko uporabite za:

  • Odložite izvedbo paketne datoteke za vnaprej določeno časovno obdobje
  • Preprečite, da bi uporabnik prekinil dejanje paketne datoteke
  • Ustvarite uporabniku prijaznejšo izkušnjo tako, da uporabniku preprečite, da bi moral pritisniti tipko za nadaljevanje

Naslednja paketna datoteka se na primer ustavi za 10 sekund:

@echo izklopljen

echo Pozdravljeni, izvajanje skripta se nadaljuje po 10 sekundah zakasnitve

časovna omejitev /t 10

echo Hvala!

Kot je prikazano na naslednjem posnetku zaslona, ​​se časovnik izvaja in čaka, da uporabnik prekine ukaz »timeout« s pritiskom na katero koli tipko. Če uporabnik pritisne katero koli tipko, se postopek ustavi in ​​premakne na naslednji ukaz v paketni datoteki:

Uporabnik na naslednjem posnetku zaslona po 5 sekundah prekine ukaz »timeout«, kar povzroči prikaz »Hvala!« sporočilo:

Naslednji posnetek zaslona prikazuje, kako se »Hvala!« sporočilo traja 10 sekund, da se natisne na zaslon, če končni uporabnik ne prekine navodila za časovno omejitev:

Tukaj je posodobljena koda, ki je bila spremenjena tako, da vključuje stikalo brez prekinitve, ki končnemu uporabniku prepreči prekinitev postopka paketne datoteke:

@echo izklopljen

rem Ta paketna datoteka se ustavi za 10 sekund

echo Pozdravljeni, izvajanje skripta se nadaljuje po 10 sekundah zakasnitve

časovna omejitev /t 10 /nobreak

rem Po 10 sekundah bo ta ukaz prikazan na pozivnem zaslonu

echo Hvala!

Tukaj je rezultat prejšnje kode:

Ukazna vrstica pozove uporabnika, da vnese Y ali N, če uporabnik uporabi ukaz »CTRL+C«. Če uporabnik klikne Y, se to paketno opravilo ustavi:

Ukazi »pause«, »wait« in »timeout« so načini za nadzor poteka naših skriptov. Izvajanje skripta je začasno ustavljeno, ko je uporabljen ukaz »pause«, in je ustavljen za vnaprej določen čas, ko je uporabljen ukaz »timeout«.

Uporaba pogojnih izjav za nadzor poteka

Pogojni stavki so najpogosteje izvedljiva tehnika, ki se uporablja za spreminjanje toka skripta na podlagi določene okoliščine. Glede na to, ali je pogoj resničen ali napačen, stavek »if« izvede enega od dveh delov kode. Izjava »če« je strukturirana na naslednji način:

if else

primer:

Odprite beležnico ali kateri koli urejevalnik besedil po vaši izbiri in napišite naslednjo kodo, ki inicializira vrednost spremenljivke inputValue na 1 v tretji vrstici. Vrednost spremenljivke inputValue se nato preveri s stavkom »if« v času izvajanja, da se ugotovi, ali je enaka 1, 2 ali 3. Če je tako, se na zaslonu ukazne vrstice natisne ustrezno sporočilo. Če ni, se prikaže končno sporočilo. V pogojnem stavku, znanem kot 'if', se vhodna vrednost spremenljivke preveri, ali je enaka 1, 2 ali 3. Če je enaka, se nato izvede eden od dveh blokov kode. Če je pogoj resničen, pogojni stavek ne naredi ničesar.

@echo izklopljen

rem Ta skript preizkusi spremenljivko inputValue glede na vrednosti 1, 2 in 3.

nastavite inputValue=1

if '%inputValue%'=='1' (

echo Vhodna vrednost je enaka 1.

) drugače, če je '%inputValue%'=='2' (

echo Vhodna vrednost je enaka 2.

) drugače, če je '%inputValue%'=='3' (

echo Vhodna vrednost je enaka 3.

) drugače (

echo Spremenljivka inputValue ni enaka 1, 2 ali 3.

)

Izhod:

Zaključek

Potek skripta je mogoče nadzorovati, procese pa je mogoče avtomatizirati v operacijskem sistemu Windows z uporabo ukazov, zank in pogojnih stavkov, kot je »if«. Razvijalci lahko ustavijo izvajanje skripta ali dodajo zakasnitve z ukazom »pause« z uporabo »timeout« ali »ping«. Čeprav v paketnem skriptiranju ni vgrajenega stavka »switch«, ga lahko simuliramo z izrazoma »if« in »else if«. Testiranje je ključnega pomena za zagotovitev, da ti skripti delujejo, kot je predvideno, v ustreznem kontekstu. Ti skripti so uporabni za avtomatizacijo, upravljanje sistema in manipulacijo datotek.