Naredbe za pauzu i čekanje skupne datoteke: Kako kontrolirati tijek vaših skripti

Naredbe Za Pauzu I Cekanje Skupne Datoteke Kako Kontrolirati Tijek Vasih Skripti



U paketnom skriptiranju u sustavu Windows programeri mogu kontrolirati tijek vaših skripti koristeći različite tehnike ili metode za uvođenje pauza ili čekanja. Naredbe 'pauza' i 'čekaj' dva su načina za kontrolu tijeka vaših batch datoteka. Naredba 'pauza' zaustavlja izvođenje skupne datoteke dok prikazuje poruku 'Pritisnite bilo koju tipku za nastavak...'. Skupna datoteka ne može se pokrenuti dok korisnik ne pritisne tipku. Izvršenje paketne datoteke obustavljeno je na broj sekundi naznačen u uputama za čekanje.

Naredba za pauzu skupne datoteke

Naredba 'pause' batch datoteke zaustavlja izvođenje batch datoteke dok prikazuje poruku u naredbenom retku. Skupna datoteka neće se pokrenuti dok korisnik ne pritisne tipku. Korisna je naredba koja zaustavlja sljedeće izvršenje. Izravno pokretanje batch datoteke i gledanje željenog izlaza na zaslonu je korisno.







Sintaksa naredbe 'pauza' je:



Pauza

Pitaj korisnika za unos

Naredba 'pauza' u sljedećoj batch skripti prikazuje poruku 'Pritisnite bilo koju tipku za nastavak...' kada korisnik pokrene ovu batch datoteku. Prije nego što batch datoteka prijeđe na naredbu 'dir', korisnik mora pritisnuti tipku.



@echo isključen

rem Ova batch datoteka se zaustavlja kako bi korisnik pritisnuo tipku.

echo Pozdrav, dobrodošli u demonstraciju naredbe PAUSE.

echo Izvršenje skripte se nastavlja nakon pauze.

pauza

rem Ova batch datoteka nastavlja sa sljedećom naredbom.

echo Hvala!

vas





Kada korisnik pritisne bilo koju tipku pomoću tipkovnice, ovaj skupni proces se nastavlja:



Naredba čekanja skupne datoteke

Kôd koji ste dali je paketna datoteka koja otvara dva programa: Notepad i Paint. Kod je sljedeći:

@echo isključen

echo Pokretanje prvog programa.

START /B /ČEKAJ notepad.exe

echo Notepad Uspješno otvoren u pozadini

echo Pokretanje drugog programa.

POKRENI / PRIČEKAJ mspaint.exe

echo Paint je uspješno otvoren.

cmd /k

Prvi redak, “@echo off”, sprječava batch datoteku da prikazuje naredbe dok se izvršavaju.

Korisnik je jednostavno obaviješten da se prvi program pokreće drugim redom koji glasi 'echo Starting First Program'.

Treći redak, “START /B /WAIT notepad.exe”, otvara program Notepad u prozoru u pozadini i čeka da završi prije nastavka. Prekidač “/B” govori naredbi START da pokrene program u pozadinskom prozoru, a prekidač “/WAIT” govori naredbi START da pričeka da program završi prije nastavka.

Četvrti red čita echo Notepad. Kada se Notepad uspješno otvori u pozadini, on samo obavještava korisnika porukom.

Peti red, 'echo Starting Second Program', jednostavno prikazuje poruku korisniku da se drugi program pokreće.

Šesti redak, “START /WAIT mspaint.exe”, otvara program Paint u pozadinskom prozoru i ne čeka da završi prije nastavka.

Sedmi redak, 'echo Paint je uspješno otvoren', jednostavno prikazuje poruku korisniku da je Paint uspješno otvoren.

Osmi redak, “cmd /k”, otvara novi prozor naredbenog retka i zadržava trenutni prozor naredbenog retka otvorenim.

Korištenje petlje za prilagođene odgode

Možemo koristiti petlju za prilagođena kašnjenja u skupnom procesu. Evo primjera:

U ovom primjeru, prva poruka se prikazuje korisniku kada se pokrene ova batch datoteka. Prva poruka se zatim prikazuje još jednom kada započne petlja 'za'. Naredba timeout zaustavlja batch datoteku na jednu sekundu prije prikazivanja druge poruke. Konačna poruka se zatim prikazuje nakon ukupno 10 ponavljanja.

@echo isključen

echo Demonstracija kašnjenja pomoću petlje

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

timeout /t 1 /nobreak > nul

echo Ova se poruka prikazuje nakon %%i  sekundi

)

echo Ova se poruka prikazuje s odgodom od 10 sekundi.

Korištenje vremenskog ograničenja za odgodu

Naredba isteka vremena batch datoteke pauzira izvršavanje batch datoteke na unaprijed određeni broj sekundi. Sintaksa je dana ovdje:

vrijeme čekanja /t [/nobreak]

Prekidač “/t” određuje vrijeme čekanja u sekundama. Prekidač “/nobreak” onemogućuje pritiske tipki od strane korisnika za prekid odgode.

Naredba “timeout” može se koristiti za:

  • Odgodite izvršavanje batch datoteke za unaprijed određeno vremensko razdoblje
  • Spriječite da korisnik prekine radnju batch datoteke
  • Stvorite iskustvo prilagođenije korisniku sprječavajući korisnika da mora pritisnuti tipku za nastavak

Na primjer, sljedeća paketna datoteka pauzira 10 sekundi:

@echo isključen

echo Pozdrav, izvođenje skripte nastavlja se nakon 10 sekundi odgode

vrijeme čekanja /t 10

echo Hvala!

Kao što je prikazano na sljedećoj snimci zaslona, ​​mjerač vremena radi i čeka da korisnik prekine naredbu 'timeout' pritiskom na bilo koju tipku. Ako korisnik pritisne bilo koju tipku, proces se zaustavlja i prelazi na sljedeću naredbu u batch datoteci:

Korisnik na sljedećoj snimci zaslona prekida naredbu 'timeout' nakon 5 sekundi, što rezultira prikazom 'Thank you!' poruka:

Sljedeća snimka zaslona prikazuje kako se 'Hvala!' poruci je potrebno 10 sekundi da se ispiše na ekranu ako krajnji korisnik ne prekine uputu o vremenskom ograničenju:

Evo ažuriranog koda koji je izmijenjen tako da uključuje prekidač bez prekida koji zaustavlja krajnjeg korisnika da prekine proces skupne datoteke:

@echo isključen

rem Ova batch datoteka pauzira 10 sekundi

echo Pozdrav, izvođenje skripte nastavlja se nakon 10 sekundi odgode

timeout /t 10 /nobreak

rem Nakon 10 sekundi ova će se naredba prikazati na zaslonu s upitima

echo Hvala!

Ovo je rezultat prethodnog koda:

Naredbeni redak traži od korisnika da upiše Y ili N ako korisnik koristi naredbu 'CTRL+C'. Ako korisnik klikne Y, ovaj skupni posao se zaustavlja:

Naredbe 'pauza', 'čekaj' i 'timeout' načini su za kontrolu tijeka naših skripti. Izvođenje skripte se obustavlja kada se koristi naredba 'pause', a zaustavlja se na unaprijed određeno vrijeme kada se koristi naredba 'timeout'.

Korištenje uvjetnih naredbi za kontrolu toka

Uvjetne izjave su najčešće izvediva tehnika koja se koristi za izmjenu tijeka skripte na temelju određene okolnosti. Ovisno o tome je li uvjet istinit ili lažan, naredba 'if' izvršava jedan od dva dijela koda. Izjava 'ako' strukturirana je na sljedeći način:

if else

Primjer:

Otvorite Notepad ili bilo koji uređivač teksta po vašem izboru i napišite sljedeći kod koji inicijalizira vrijednost varijable inputValue na 1 u trećem retku. Vrijednost varijable inputValue zatim se provjerava pomoću naredbe “if” u vremenu izvođenja kako bi se vidjelo je li jednaka 1, 2 ili 3. Ako je tako, odgovarajuća poruka ispisuje se na zaslonu naredbenog retka. Ako nije, prikazuje se posljednja poruka. U uvjetnoj izjavi poznatoj kao 'if', ulazna vrijednost varijable se provjerava je li jednaka 1, 2 ili 3. Ako jest, tada se izvršava jedan od dva bloka koda. Ako je uvjet istinit, uvjetna izjava ne radi ništa.

@echo isključen

rem Ova skripta testira varijablu inputValue u odnosu na vrijednosti 1, 2 i 3.

postavite inputValue=1

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

echo Ulazna vrijednost jednaka je 1.

) inače ako je '%inputValue%'=='2' (

echo Ulazna vrijednost jednaka je 2.

) inače ako je '%inputValue%'=='3' (

echo Ulazna vrijednost jednaka je 3.

) inače (

echo Varijabla inputValue nije jednaka 1, 2 ili 3.

)

Izlaz:

Zaključak

Tijek skripte može se kontrolirati, a procesi se mogu automatizirati u operativnom sustavu Windows pomoću naredbi, petlji i uvjetnih izjava poput 'if'. Programeri mogu zaustaviti izvršavanje skripte ili dodati odgode s naredbom 'pauza' koristeći 'timeout' ili 'ping'. Iako ne postoji ugrađena naredba 'switch' u skupnom skriptiranju, možemo je simulirati izrazima 'if' i 'else if'. Testiranje je ključno kako bi se osiguralo da te skripte funkcioniraju kako je predviđeno u odgovarajućem kontekstu. Ove skripte korisne su za automatizaciju, upravljanje sustavom i manipulaciju datotekama.