Erätiedoston tauko- ja odotuskomennot: komentosarjojesi kulkua ohjaaminen

Eratiedoston Tauko Ja Odotuskomennot Komentosarjojesi Kulkua Ohjaaminen



Eräkomentosarjassa Windowsissa kehittäjät voivat ohjata komentosarjoidesi kulkua käyttämällä erilaisia ​​tekniikoita tai menetelmiä taukojen tai odotusten lisäämiseksi. 'Tauko'- ja 'odota'-komennot ovat kaksi tapaa hallita erätiedostojesi kulkua. 'Pause'-komento pysäyttää erätiedoston suorittamisen samalla kun näytetään 'Jatka painamalla mitä tahansa näppäintä...' -viesti. Erätiedostoa ei voi suorittaa ennen kuin käyttäjä painaa näppäintä. Erätiedoston suoritus keskeytetään odotuskäskyn osoittaman sekuntimäärän ajaksi.

Erätiedosto keskeytyskomento

Erätiedoston 'tauko'-komento pysäyttää erätiedoston suorittamisen samalla, kun viesti näytetään komentorivillä. Erätiedostoa ei suoriteta ennen kuin käyttäjä painaa näppäintä. Seuraavan suorituksen pysäyttävä komento on hyödyllinen. Erätiedoston suorittaminen suoraan ja halutun tulosteen näkeminen näytöllä on hyödyllistä.







'Pause'-komennon syntaksi on:



Tauko

Pyydä käyttäjää syöttämään

Seuraavan eräkomentosarjan 'tauko'-komento näyttää 'Jatka painamalla mitä tahansa näppäintä...' -sanoman, kun käyttäjä suorittaa tämän erätiedoston. Ennen kuin komentotiedosto siirtyy 'dir'-komentoon, käyttäjän on painettava näppäintä.



@kaiku pois

rem Tämä erätiedosto keskeyttää käyttäjän painavan näppäintä.

echo Hei, Tervetuloa PAUSE-komennon esittelyyn.

echo Script Suoritus jatkuu tauon jälkeen.

tauko

rem Tämä erätiedosto jatkuu seuraavalla komennolla.

echo Kiitos!

sinä





Kun käyttäjä painaa mitä tahansa näppäintä näppäimistöllä, tämä eräprosessi jatkuu:



Erätiedoston odotuskomento

Antamasi koodi on erätiedosto, joka avaa kaksi ohjelmaa: Muistio ja Paint. Koodi on seuraava:

@kaiku pois

echo Ensimmäisen ohjelman käynnistäminen.

START /B / ODOTA notepad.exe

echo Notepad avattu taustalla onnistuneesti

echo Toisen ohjelman käynnistäminen.

ALOITA / ODOTA mspaint.exe

echo Paint on avattu onnistuneesti.

cmd /k

Ensimmäinen rivi, '@echo off', estää erätiedostoa näyttämästä komentoja, kun niitä suoritetaan.

Käyttäjälle yksinkertaisesti ilmoitetaan, että ensimmäinen ohjelma käynnistetään toisella rivillä, joka on 'echo Starting First Program'.

Kolmas rivi 'START /B /WAIT notepad.exe' avaa Notepad-ohjelman taustaikkunassa ja odottaa sen päättymistä ennen kuin jatkat. “/B”-kytkin käskee START-komennon suorittamaan ohjelman taustaikkunassa ja “/WAIT”-kytkin käskee START-komennon odottamaan ohjelman päättymistä ennen kuin jatkat.

Neljännellä rivillä lukee echo Notepad. Kun Muistio avataan onnistuneesti taustalla, se vain ilmoittaa käyttäjälle viestillä.

Viides rivi, 'echo Starting Second Program', näyttää käyttäjälle vain viestin, että toinen ohjelma käynnistetään.

Kuudes rivi 'START /WAIT mspaint.exe' avaa Paint-ohjelman taustaikkunassa eikä odota sen päättymistä ennen kuin jatkat.

Seitsemäs rivi 'echo The Paint is Opened onnistui' näyttää yksinkertaisesti viestin käyttäjälle, että Paint on avattu onnistuneesti.

Kahdeksas rivi 'cmd /k' avaa uuden komentokehoteikkunan ja pitää nykyisen komentokehoteikkunan auki.

Silmukan käyttäminen mukautetuille viiveille

Voimme käyttää silmukkaa mukautetuille viiveille eräprosessissa. Tässä on esimerkki:

Tässä esimerkissä ensimmäinen viesti näytetään käyttäjälle, kun tämä erätiedosto suoritetaan. Ensimmäinen viesti näytetään sitten vielä kerran, kun 'for'-silmukka alkaa. Aikakatkaisukomento pysäyttää erätiedoston yhdeksi sekunniksi ennen toisen viestin näyttämistä. Lopullinen viesti näytetään sitten yhteensä 10 iteroinnin jälkeen.

@kaiku pois

echo Viiveen osoittaminen silmukalla

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

aikakatkaisu /t 1 /nobreak > null

echo Tämä viesti näkyy %%i  sekunnin kuluttua

)

echo Tämä viesti näytti 10 sekunnin viiveen.

Viiveen aikakatkaisun käyttö

Erätiedoston aikakatkaisukomento keskeyttää erätiedoston suorittamisen ennalta määritetyksi sekuntimääräksi. Syntaksi annetaan tässä:

aikakatkaisu /t [/nobreak]

'/t'-kytkin määrittää odotusajan sekunteina. “/nobreak”-kytkin poistaa käytöstä käyttäjän näppäinpainallukset viiveen katkaisemiseksi.

Aikakatkaisu-komentoa voidaan käyttää:

  • Lykkää erätiedoston suorittamista ennalta määrätyksi ajaksi
  • Estä käyttäjää keskeyttämästä komentojonotiedostotoimintoa
  • Luo käyttäjäystävällisempi kokemus estämällä käyttäjää painamasta näppäintä jatkaakseen

Esimerkiksi seuraava erätiedosto pysähtyy 10 sekunniksi:

@kaiku pois

echo Hei, Komentosarjan suoritus jatkuu 10 sekunnin viiveen jälkeen

aikakatkaisu /t 10

echo Kiitos!

Kuten seuraavassa kuvakaappauksessa näkyy, ajastin on käynnissä ja odottaa, että käyttäjä keskeyttää 'timeout'-komennon painamalla mitä tahansa näppäintä. Jos käyttäjä painaa mitä tahansa näppäintä, prosessi pysähtyy ja siirtyy komentosarjan seuraavaan komentoon:

Seuraavan kuvakaappauksen käyttäjä keskeyttää 'timeout'-komennon 5 sekunnin kuluttua, jolloin näyttöön tulee 'Kiitos!' viesti:

Seuraava kuvakaappaus näyttää, kuinka 'Kiitos!' Viestin tulostaminen näytölle kestää 10 sekuntia, jos loppukäyttäjä ei keskeytä aikakatkaisuohjetta:

Tässä on päivitetty koodi, jota on muokattu sisältämään no-break-kytkin, joka estää loppukäyttäjää keskeyttämästä erätiedostoprosessia:

@kaiku pois

rem Tämä erätiedosto pysähtyy 10 sekunniksi

echo Hei, Komentosarjan suoritus jatkuu 10 sekunnin viiveen jälkeen

aikakatkaisu /t 10 /nobreak

rem 10 sekunnin kuluttua tämä komento tulee näkyviin kehotenäytölle

echo Kiitos!

Tässä on edellisen koodin tulos:

Komentorivi kehottaa käyttäjää kirjoittamaan joko Y tai N, jos käyttäjä käyttää 'CTRL+C'-komentoa. Jos käyttäjä napsauttaa Y, tämä erätyö pysäytetään:

'Tauko', 'odota' ja 'aikakatkaisu' -komennot ovat tapoja ohjata komentosarjoidemme kulkua. Komentosarja keskeytetään, kun 'tauko'-komentoa käytetään, ja se pysähtyy ennalta määritetyksi ajaksi, kun 'timeout'-komentoa käytetään.

Ehdollisten lausekkeiden käyttö virtauksen ohjauksessa

Ehdolliset lauseet ovat yleisimmin toteutettavissa oleva tekniikka, jota käytetään muokkaamaan komentosarjan kulkua tietyn tilanteen perusteella. Sen mukaan, onko ehto tosi vai epätosi, 'if'-lause suorittaa toisen koodin suorittamisen kahdesta osasta. 'if'-lause on rakennettu seuraavasti:

jos else

Esimerkki:

Avaa Muistio tai mikä tahansa valitsemasi tekstieditori ja kirjoita seuraava koodi, joka alustaa inputValue-muuttujan arvon 1:ksi kolmannelle riville. InputValue-muuttujan arvo tarkistetaan sitten 'if'-käskyllä ​​ajon aikana, jotta nähdään, onko se yhtä kuin 1, 2 vai 3. Jos on, asianmukainen viesti tulostetaan komentorivinäyttöön. Jos ei, viimeinen viesti tulee näkyviin. Ehdollisessa lauseessa, joka tunnetaan nimellä 'if', muuttujan inputValue tarkistetaan, onko se yhtä kuin 1, 2 vai 3. Jos näin on, toinen kahdesta koodilohkosta suoritetaan. Jos ehto on tosi, ehdollinen lause ei tee mitään.

@kaiku pois

rem Tämä komentosarja testaa muuttujan inputValue arvoja 1, 2 ja 3 vastaan.

aseta inputValue=1

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

echo Syöttöarvo on yhtä suuri kuin 1.

) muuten jos '%inputValue%'=='2' (

echo Syöttöarvo on yhtä suuri kuin 2.

) muuten jos '%inputValue%'=='3' (

echo Syöttöarvo on yhtä suuri kuin 3.

) muu (

echo Muuttuja inputValue ei ole yhtä suuri kuin 1, 2 tai 3.

)

Lähtö:

Johtopäätös

Skriptikulkua voidaan ohjata ja prosesseja voidaan automatisoida Windows-käyttöjärjestelmässä komentojen, silmukoiden ja ehdollisten lausekkeiden, kuten 'if' avulla. Kehittäjät voivat pysäyttää komentosarjan suorittamisen tai lisätä viiveitä 'tauko'-komennolla käyttämällä 'aikakatkaisua' tai 'pingiä'. Vaikka eräkomentosarjassa ei ole sisäänrakennettua 'kytkin'-käskyä, voimme simuloida sitä 'if'- ja 'else if'-lausekkeilla. Testaus on ratkaisevan tärkeää sen varmistamiseksi, että nämä komentosarjat toimivat tarkoituksenmukaisessa kontekstissa. Nämä komentosarjat ovat hyödyllisiä automatisoinnissa, järjestelmän hallinnassa ja tiedostojen käsittelyssä.