Команде за паузу и чекање пакетне датотеке: Како контролисати ток ваших скрипти

Komande Za Pauzu I Cekane Paketne Datoteke Kako Kontrolisati Tok Vasih Skripti



У групном писању скрипти на Виндовс-у, програмери могу да контролишу ток ваших скрипти користећи различите технике или методе за увођење пауза или чекања. Команде „пауза“ и „чекајте“ су два начина за контролу тока ваших батцх датотека. Команда „пауза“ зауставља извршавање батцх датотеке док приказује поруку „Притисните било који тастер да бисте наставили…“. Батцх датотека не може да се покрене док корисник не притисне тастер. Извршење батцх датотеке је суспендовано на број секунди који је назначен у инструкцији чекања.

Команда за паузу пакетне датотеке

Команда „пауза“ батцх датотеке зауставља извршавање батцх датотеке док приказује поруку на командној линији. Батцх датотека се неће покренути док корисник не притисне тастер. Команда која зауставља следеће извршење је од помоћи. Директно покретање батцх датотеке и гледање жељеног излаза на екрану је корисно.







Синтакса команде „пауза“ је:



Пауза

Затражите од корисника унос

Команда „пауза“ у следећој групној скрипти приказује поруку „Притисните било који тастер да бисте наставили…“ када корисник покрене ову батцх датотеку. Пре него што батцх фајл пређе на команду „дир“, корисник мора да притисне тастер.



@ецхо офф

рем Ова батцх датотека паузира да би корисник притиснуо тастер.

ецхо Здраво, добродошли у демонстрацију команде ПАУСЕ.

ецхо Извршење скрипте се наставља након паузе.

пауза

рем Ова батцх датотека се наставља следећом командом.

ецхо Хвала!

ти





Када корисник притисне било који тастер користећи тастатуру, овај групни процес се наставља:



Команда за чекање пакетне датотеке

Код који сте навели је батцх датотека која отвара два програма: Нотепад и Паинт. Код је следећи:

@ецхо офф

ехо Покретање првог програма.

СТАРТ /Б /ВАИТ нотепад.еке

ецхо Нотепад је успешно отворен у позадини

ехо Покретање другог програма.

СТАРТ /ВАИТ мспаинт.еке

ецхо Боја је успешно отворена.

цмд /к

Први ред, „@ецхо офф“, спречава да батцх фајл приказује команде док се извршавају.

Корисник је једноставно обавештен да се први програм покреће другом линијом која је „ецхо Стартинг Фирст Програм“.

Трећи ред, „СТАРТ /Б /ВАИТ нотепад.еке“, отвара програм Нотепад у прозору у позадини и чека да се заврши пре него што наставите. Прекидач “/Б” говори команди СТАРТ да покрене програм у прозору у позадини, а прекидач “/ВАИТ” говори команди СТАРТ да сачека да се програм заврши пре него што настави.

Четврти ред чита ехо Нотепад. Када се Нотепад успешно отвори у позадини, он само обавештава корисника поруком.

Пети ред, „ецхо Стартинг Сецонд Програм“, једноставно приказује поруку кориснику да се други програм покреће.

Шести ред, „СТАРТ /ВАИТ мспаинт.еке“, отвара програм Паинт у прозору у позадини и не чека да се заврши пре него што наставите.

Седми ред, „ецхо Боја је успешно отворена“, једноставно приказује поруку кориснику да је Паинт успешно отворен.

Осми ред, „цмд /к“, отвара нови прозор командне линије и држи отворен тренутни прозор командне линије.

Коришћење петље за прилагођена одлагања

Можемо користити петљу за прилагођена кашњења у групном процесу. Ево примера:

У овом примеру, прва порука се приказује кориснику када се покрене ова батцх датотека. Прва порука се затим приказује још једном када петља „фор“ почне. Команда тимеоут зауставља батцх датотеку на једну секунду пре него што прикаже другу поруку. Коначна порука се затим приказује након укупно 10 итерација.

@ецхо офф

ехо Демонстрација кашњења помоћу петље

за /л  %%и у (1,1,10) уради (

тимеоут /т 1 /нобреак > нул

ецхо Ова порука се приказује после %%и  секунди

)

ецхо Ова порука је приказала кашњење од 10 секунди.

Коришћење временског ограничења за кашњење

Наредба тимеоут батцх датотеке паузира извршавање батцх датотеке на унапред одређен број секунди. Синтакса је дата овде:

тимеоут /т <СЕЦОНДС_ДЕЛАИ> [/нобреак]

Прекидач “/т” одређује количину времена у секундама за чекање. Прекидач „/нобреак“ онемогућава притискање тастера од стране корисника да би се прекинуло кашњење.

Команда „тимеоут“ се може користити за:

  • Одложите извршење батцх датотеке на унапред одређен временски период
  • Спречите радњу пакетне датотеке да корисник прекине
  • Створите корисничко искуство тако што ћете спречити корисника да мора да притисне тастер да би наставио

На пример, следећа батцх датотека се паузира 10 секунди:

@ецхо офф

ецхо Здраво, извршавање скрипте се наставља након 10 секунди одлагања

временско ограничење /т 10

ецхо Хвала!

Као што је приказано на следећем снимку екрана, тајмер је покренут и чека да корисник прекине команду „тимеоут“ притиском на било који тастер. Ако корисник притисне било који тастер, процес се зауставља и прелази на следећу команду у батцх датотеци:

Корисник на следећем снимку екрана прекида команду „тимеоут“ након 5 секунди, што резултира приказом „Хвала!“ порука:

Следећи снимак екрана показује како се „Хвала!“ потребно је 10 секунди да се порука одштампа на екрану ако крајњи корисник не прекине инструкцију за временско ограничење:

Ево ажурираног кода који је модификован тако да укључује прекидач без прекида који спречава крајњег корисника да прекине процес групне датотеке:

@ецхо офф

рем Ова батцх датотека се паузира 10 секунди

ецхо Здраво, извршавање скрипте се наставља након 10 секунди одлагања

тимеоут /т 10 /нобреак

рем Након 10 секунди ова команда ће бити приказана на екрану промпта

ецхо Хвала!

Ево излаза претходног кода:

Командна линија тражи од корисника да унесе И или Н ако корисник користи команду „ЦТРЛ+Ц“. Ако корисник кликне на И, овај групни посао се зауставља:

Команде „пауза“, „чекајте“ и „временско ограничење“ су начини за контролу тока наших скрипти. Скрипта се суспендује из покретања када се користи команда „пауза“ и зауставља се на унапред одређено време када се користи команда „тимеоут“.

Коришћење условних изјава за контролу тока

Условне изјаве су најчешће изводљива техника која се користи за модификовање тока скрипте на основу одређених околности. На основу тога да ли је услов тачан или нетачан, наредба „иф“ обавља један од два дела извршења кода. Изјава „ако“ је структурирана на следећи начин:

иф <услов> <труе_БЛОЦК> елсе <фалсе_БЛОЦК>

Пример:

Отворите Нотепад или било који уређивач текста по вашем избору и напишите следећи код који иницијализује вредност променљиве инпутВалуе на 1 у трећем реду. Вредност променљиве инпутВалуе се затим проверава коришћењем наредбе „иф“ током времена извршавања да би се видело да ли је једнака 1, 2 или 3. Ако јесте, одговарајућа порука се штампа на екрану командне линије. Ако није, приказује се коначна порука. У условној изјави познатој као „иф“, променљива инпутВалуе се проверава да би се видело да ли је једнака 1, 2 или 3. Ако јесте, онда се извршава један од два блока кода. Ако је услов тачан, условни исказ не ради ништа.

@ецхо офф

рем Ова скрипта тестира променљиву инпутВалуе у односу на вредности 1, 2 и 3.

поставите инпутВалуе=1

ако је '%инпутВалуе%'=='1' (

ецхо Улазна вредност је једнака 1.

) иначе ако је '%инпутВалуе%'=='2' (

ецхо Улазна вредност је једнака 2.

) иначе ако је '%инпутВалуе%'=='3' (

ецхо Улазна вредност је једнака 3.

) друго (

ецхо Променљива инпутВалуе није једнака 1, 2 или 3.

)

Излаз:

Закључак

Ток скрипте се може контролисати, а процеси се могу аутоматизовати на Виндовс оперативном систему помоћу команди, петљи и условних изјава као што је „иф“. Програмери могу да зауставе извршавање скрипте или да додају кашњења командом „пауза“ користећи „тимеоут“ или „пинг“. Иако не постоји уграђена „свитцх“ изјава у групном скриптовању, можемо је симулирати са изразима „иф“ и „елсе иф“. Тестирање је кључно да би се осигурало да ове скрипте функционишу како је предвиђено у одговарајућем контексту. Ове скрипте су корисне за аутоматизацију, управљање системом и манипулацију датотекама.