Paketinio failo pristabdymo ir laukimo komandos: kaip valdyti scenarijų srautą

Paketinio Failo Pristabdymo Ir Laukimo Komandos Kaip Valdyti Scenariju Srauta



„Windows“ operacinėje sistemoje kurdami paketinius scenarijus, kūrėjai gali valdyti jūsų scenarijų srautą naudodami įvairius metodus ar metodus, kad įvestų pauzes ar laukimus. Komandos „pristabdyti“ ir „laukti“ yra du būdai, kaip valdyti paketinių failų srautą. Komanda „pauzė“ sustabdo paketinio failo vykdymą, kai rodomas pranešimas „Paspauskite bet kurį klavišą, kad tęstumėte...“. Paketinis failas negali būti paleistas, kol vartotojas nepaspaudžia klavišo. Paketinio failo vykdymas sustabdomas tiek sekundžių, kiek nurodyta laukimo instrukcijoje.

Paketinio failo pristabdymo komanda

Paketinio failo komanda „pauzė“ sustabdo paketinio failo vykdymą, kol komandų eilutėje rodomas pranešimas. Paketinis failas nebus paleistas, kol vartotojas nepaspaus klavišo. Naudinga komanda, kuri sustabdo kitą vykdymą. Naudinga tiesiogiai paleisti paketinį failą ir matyti pageidaujamą išvestį.







Komandos „pauzė“ sintaksė yra tokia:



Pauzė

Paprašykite vartotojo įvesti

„Pauzės“ komanda šiame paketiniame scenarijuje rodo pranešimą „Paspauskite bet kurį klavišą, kad tęstumėte...“, kai vartotojas paleidžia šį paketinį failą. Prieš paketiniam failui pereinant prie komandos „dir“, vartotojas turi paspausti klavišą.



@echo išjungtas

rem Šis paketinis failas pristabdo, kad vartotojas galėtų paspausti klavišą.

echo Sveiki, Sveiki atvykę į PAUSE komandos demonstraciją.

echo Scenarijaus vykdymas tęsiamas ir po pauzės.

Pauzė

rem Šis paketinis failas tęsiamas kita komanda.

echo Ačiū!

tu





Kai vartotojas paspaudžia bet kurį klaviatūros klavišą, šis paketinis procesas tęsiasi:



Paketinio failo laukimo komanda

Pateiktas kodas yra paketinis failas, kuris atidaro dvi programas: Notepad ir Paint. Kodas yra toks:

@echo išjungtas

echo Pirmosios programos paleidimas.

PRADĖTI /B /PALAUKITE notepad.exe

echo Notepad sėkmingai atidarytas fone

aidas Pradedant antrąją programą.

PRADĖTI / PALAUKITE mspaint.exe

echo „Paint“ sėkmingai atidarytas.

cmd / k

Pirmoji eilutė „@echo off“ neleidžia paketiniam failui rodyti komandų, kai jos vykdomos.

Vartotojas tiesiog informuojamas, kad pirmoji programa paleidžiama antroje eilutėje, kuri yra „echo Starting First Program“.

Trečioje eilutėje „START /B /WAIT notepad.exe“ atidaroma „Notepad“ programa fono lange ir laukiama, kol ji baigsis, prieš tęsdama. Jungiklis „/B“ nurodo komandai START paleisti programą foniniame lange, o „/WAIT“ jungiklis nurodo START komandai palaukti, kol programa baigsis, prieš tęsiant.

Ketvirtoje eilutėje rašoma „Echo Notepad“. Kai „Notepad“ sėkmingai atidaromas fone, jis tik praneša vartotojui pranešimu.

Penktoje eilutėje „echo Starting Second Program“ tiesiog rodomas pranešimas vartotojui, kad paleidžiama antroji programa.

Šeštoji eilutė „START /WAIT mspaint.exe“ atidaro „Paint“ programą fono lange ir nelaukia, kol ji baigsis, prieš tęsdama.

Septintoje eilutėje „echo The Paint yra sėkmingai atidarytas“ tiesiog rodomas pranešimas vartotojui, kad dažai buvo sėkmingai atidaryti.

Aštuntoje eilutėje „cmd / k“ atidaromas naujas komandų eilutės langas ir paliekamas atidarytas dabartinis komandų eilutės langas.

Individualių vėlavimų kilpos naudojimas

Galime naudoti kilpą tinkintam paketinio proceso vėlavimui. Štai pavyzdys:

Šiame pavyzdyje pirmasis pranešimas rodomas vartotojui, kai paleidžiamas paketinis failas. Prasidėjus „for“ kilpai, dar kartą rodomas pirmasis pranešimas. Laiko pabaigos komanda sustabdo paketinį failą vienai sekundei prieš parodydama antrą pranešimą. Tada galutinis pranešimas rodomas po 10 iteracijų.

@echo išjungtas

echo Vėlavimo demonstravimas naudojant kilpą

/l  %%i in (1,1,10) do (

timeout /t 1 /nobreak > nul

echo Šis pranešimas rodomas po %%i  sek.

)

echo Šis pranešimas rodomas 10 sekundžių delsa.

Atidėjimo skirtojo laiko naudojimas

Paketinio failo skirtojo laiko komanda pristabdo paketinio failo vykdymą iš anksto nustatytam sekundžių skaičiui. Sintaksė pateikiama čia:

skirtasis laikas /t [/nobreak]

Jungiklis „/t“ nurodo laiką, kiek reikia laukti sekundėmis. Jungiklis „/nobreak“ išjungia vartotojo mygtukų paspaudimus, kad nutrauktų delsą.

Komanda „timeout“ gali būti naudojama:

  • Atidėkite paketinio failo vykdymą iš anksto nustatytam laikotarpiui
  • Neleiskite vartotojui pertraukti paketinio failo veiksmo
  • Sukurkite patogesnę patirtį, neleisdami vartotojui paspausti klavišo norint tęsti

Pavyzdžiui, šis paketinis failas sustabdomas 10 sekundžių:

@echo išjungtas

echo Sveiki, Scenarijaus vykdymas tęsiamas po 10 sekundžių uždelsimo

skirtasis laikas /t 10

echo Ačiū!

Kaip parodyta toliau pateiktoje ekrano kopijoje, veikia laikmatis ir laukia, kol vartotojas nutrauks komandą „laikas baigtis“ paspausdamas bet kurį klavišą. Jei vartotojas paspaudžia bet kurį klavišą, procesas sustoja ir pereina prie kitos paketinio failo komandos:

Toliau pateiktoje ekrano kopijoje vartotojas pertraukia komandą „timeout“ po 5 sekundžių, todėl parodomas pranešimas „Ačiū! žinutė:

Toliau pateiktoje ekrano kopijoje parodyta, kaip „Ačiū! Pranešimas ekrane išspausdinamas per 10 sekundžių, jei galutinis vartotojas nepertraukia laiko pabaigos instrukcijos:

Štai atnaujintas kodas, kuris buvo pakeistas, kad būtų įtrauktas be pertraukos jungiklis, neleidžiantis galutiniam vartotojui nutraukti paketinio failo proceso:

@echo išjungtas

rem Šis paketinis failas sustabdomas 10 sekundžių

echo Sveiki, Scenarijaus vykdymas tęsiamas po 10 sekundžių uždelsimo

timeout /t 10 /nobreak

rem Po 10 sekundžių ši komanda bus rodoma raginimo ekrane

echo Ačiū!

Čia yra ankstesnio kodo išvestis:

Komandinė eilutė ragina vartotoją įvesti Y arba N, jei vartotojas naudoja komandą „CTRL+C“. Jei vartotojas spusteli Y, ši paketinė užduotis sustabdoma:

Komandos „pauzė“, „laukti“ ir „skirtasis laikas“ yra būdai, kaip valdyti mūsų scenarijų srautą. Scenarijaus vykdymas sustabdomas, kai naudojama komanda „pauzė“, ir sustabdoma iš anksto nustatytam laikui, kai naudojama komanda „timeout“.

Sąlyginių teiginių naudojimas srauto valdymui

Sąlyginiai teiginiai yra dažniausiai įmanomas metodas, naudojamas scenarijaus srautui modifikuoti, atsižvelgiant į tam tikras aplinkybes. Atsižvelgiant į tai, ar sąlyga teisinga, ar klaidinga, sakinys „if“ atlieka vieną iš dviejų kodo dalių. Teiginys „if“ yra sudarytas taip:

jei else

Pavyzdys:

Atidarykite Notepad arba bet kurį pasirinktą teksto rengyklę ir trečioje eilutėje parašykite šį kodą, kuris inicijuoja inputValue kintamojo reikšmę į 1. Tada kintamojo inputValue reikšmė patikrinama naudojant „if“ teiginį vykdymo metu, kad būtų galima pamatyti, ar ji lygi 1, 2 ar 3. Jei taip, komandų eilutės ekrane išspausdinamas atitinkamas pranešimas. Jei ne, rodomas galutinis pranešimas. Sąlyginiame sakinyje, žinomame kaip „if“, kintamojo inputValue patikrinama, ar ji lygi 1, 2 ar 3. Jei taip, vykdomas vienas iš dviejų kodo blokų. Jei sąlyga teisinga, sąlyginis teiginys nieko nedaro.

@echo išjungtas

rem Šis scenarijus patikrina kintamąjį inputValue pagal reikšmes 1, 2 ir 3.

nustatyti inputValue=1

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

echo Įvesties reikšmė lygi 1.

) kitaip, jei '%inputValue%'=='2' (

echo Įvesties reikšmė lygi 2.

) kitaip, jei '%inputValue%'=='3' (

echo Įvesties reikšmė lygi 3.

) Kitas (

echo Kintamasis inputValue nėra lygus 1, 2 arba 3.

)

Išvestis:

Išvada

Scenarijaus srautas gali būti valdomas, o procesai gali būti automatizuoti Windows operacinėje sistemoje naudojant komandas, kilpas ir sąlyginius teiginius, pvz., „if“. Kūrėjai gali sustabdyti scenarijaus vykdymą arba pridėti delsų naudodami komandą „pauzė“, naudodami „timeout“ arba „ping“. Nors paketiniame scenarijuje nėra integruoto „switch“ teiginio, galime jį imituoti naudodami „if“ ir „else if“ išraiškas. Testavimas yra labai svarbus siekiant užtikrinti, kad šie scenarijai veiktų taip, kaip numatyta atitinkamame kontekste. Šie scenarijai yra naudingi automatizuojant, valdant sistemą ir tvarkant failus.