ПоверСхелл Старт-Слееп команда: синтакса, примери

26. август 2021 7353 Погледи Поверсхелл Слееп

Треба да одложите ПоверСхелл скрипту на неко време? Затим вам је потребна наредба ПоверСхелл Старт-Слееп.

Овај водич вас учи свему што треба да знате о ПоверСхелл спавању. Водич почињем објашњавајући синтаксу команде Старт-Слееп.

Затим, у последњем делу водича, делим 9 примера из стварног живота како да користите команду Старт-Слееп.

Прегледајте теме постова

Поверсхелл Слееп: Синтакса Старт-Слееп команде

Поверсхелл Слееп: Синтакса Старт-Слееп команде

Ево синтаксе Старт-Слееп команде:

|_+_| |_+_|

Овај цмдлет има два параметра

Милисекунде – користите га да одредите време (Инт32) у милисекундама. ПоверСхелл ће одложити милисекунде које унесете.

На пример, ако желим да одложим своју скрипту за 300000 милисекунди (5 минута), покренућу наредбу испод:

|_+_|

Секунде : Такође можете одредити период кашњења у секундама. Да бисте то урадили, користите Секунде параметар команде Старт-Слееп.

Да наставим са последњим примером, да одложим своју скрипту за 5 минута (300 секунди), покренућу наредбу испод:

|_+_|

Поверсхелл примери спавања

Овај одељак садржи неке примере како да користите Поверсхелл Слееп за решавање неких сложених задатака као што је одбројавање и још много тога.

Како подесити ПоверСхелл стање мировања у милисекундама, 1 секунди (или мање), минутама или на 1 сат

Као што сам објаснио у последњем одељку, команда Старт-Слееп има две синтаксе, као што је приказано у наставку:

|_+_|

Да бисте подесили ПоверСхелл да одлаже 30000 милисекунди (30 секунди), користите било коју од наредби у наставку:

|_+_|

Штавише, можете да користите параметар милисекунде да бисте подесили спавање на мање од 1 секунде. На пример, ако желите да одложите ПоверСхелл скрипту за 0,0005 секунди (0,5 милисекунди), можете користити било коју од наредби у наставку:

|_+_|

У мом трећем примеру у овом пододељку, желим да поставим ПоверСхелл мировање на 1 сат. Најбољи приступ овде је коришћење параметра Сецондс команде Старт-Слееп.

Међутим, да бисте то урадили, морате претворити 1 сат у секунде. То можете лако учинити претраживањем претворити 1 сат у секунди у гуглу.

Резултат је 3600 секунди. Дакле, да бисте одложили ПоверСхелл скрипту за 1 сат, користите ПоверСхелл Старт-Слееп команду испод:

|_+_|

Као што можете видети на слици испод, ПоверСхелл командна линија неће бити доступна све док се кашњење (1 сат) не заврши.

Како подесити ПоверСхелл стање мировања у милисекундама, 1 секунди (или мање), минутама или на 1 сат

Слично томе, можете поставити ПоверСхелл да спава на 5 минута користећи наредбу испод:

|_+_| 5 минута је једнако 300 секунди

Како користити Поверсхелл Слееп за одбројавање (функција старт-цоунт)

Написао сам ПоверСхелл функцију (Старт-Цоунт), која одбројава доле или горе. Функција има 4 параметра:

ЦоунтДовн : Када наведете овај параметар, Старт-Цоунт одбројава од наведеног броја
ЦоунтУп: Алтернативно, навођењем ЦоунтУп параметар чини да се Старт-Цоунт одбројава навише од одређеног броја
ЦоунтФром : За разлику од ЦоунтДовн и ЦоунтУп , овај параметар захтева унос. Користите ово да одредите број за одбројавање надоле или нагоре.
ЦоунтТо : Користите овај параметар да одредите број до којег треба да се броји (надоле или горе)

Пратите доле наведене кораке да бисте преузели и користили функцију Старт-Цоунт:

  1. Кликните на преузимање Старт-Цоунт.зип
  2. Затим распакујте Старт-Цоунт.зип. Када распакујете, видећете фасциклу под називом Старт-Цоунт. Ова фасцикла садржи ПоверСхелл модул
  3. Копирајте фасциклу Старт-Цоунт у фасциклу ПоверСхелл Модулес. Ово се налази у Ц:Усерспрофиле_намеДоцументсВиндовсПоверСхеллМодулес
  4. Деблокирајте преузету датотеку модула наредбом испод:
|_+_|
  1. На крају, отворите ПоверСхелл и покрените Старт-Цоунт. У првом примеру желим да одбројим од 10 до 0.
|_+_|

Команда ће почети да одбројава од 10 док не достигне нулу (0). Погледајте снимак екрана испод…

Како користити Поверсхелл Слееп за одбројавање (функција старт-цоунт)

У овој другој команди бројим од 5 до 40...

|_+_|

Како користити Поверсхелл Слееп са насумичним временом

Када покренете Старт-Слееп, ПоверСхелл одбројава од врха наведеног времена. На пример, ако покренем Старт-Слееп и одредим 20 секунди, ПоверСхелл ће одбројавати за 1 секунду.

Међутим, ако желите да одбројавање буде насумично (то јест, одбројавање за 2, 5, 6), онда морате комбиновати Старт-Слееп и Гет-Рандом.

На пример, ако желим да ПоверСхелл спава у интервалима између 1 и 10 секунди, покренућу наредбу у наставку:

|_+_|

Поставите ову команду пре него што покренете команде које желите да извршите са насумично закашњењем...

Како покренути Поверсхелл Слееп до одређеног времена

У неким сценаријима за ПоверСхелл скрипте, можда ћете желети да подесите стање мировања до одређеног времена. На пример, можда ћете желети да подесите спавање на 30 секунди.

Да бисте то постигли, потребан вам је а Урадити , Све док петља.

У овом примеру, желим да ПоверСхелл спава док тајмер не достигне 30 секунди.

Прво сам подесио време почетка и време завршетка. Време почетка је време од кога желим да рачунам.

Да би било лакше, бројаћу од 0.

Пре свега, поставићу одакле желим да бројим...

|_+_|

Затим ћу подесити где желим да бројим…

|_+_|

Сада ћу користити Урадити , Све док петља са Старт-Слееп као што је приказано у скрипти испод:

Покрени сваку команду једну по једну |_+_| Ставио сам целу скрипту До, Унтил у један ред да бих могао да је покренем у ПоверСхелл-у. Ако желите да покренете скрипту у ПоверСхелл ИСЕ , можете га написати као што је приказано испод: |_+_|

Међутим, да бисте покренули скрипту у ПоверСхелл-у, покрените сваку од наредби у наставку:

|_+_|

Команда ће се бројати од 0 до 30, са интервалом од 1 секунде. Погледајте снимак екрана испод…

Како додати ПоверСхелл стање мировања после или пре команде

Ово је веома једноставан пример. Ако желите да додате кашњење после ПоверСхелл команде, додајте команду Старт-Слееп иза команде ПоверСхелл.

На пример, да додате 5 минута чекања након покретања Гет-Процесса, користите наредбу испод:

|_+_|

Као што је приказано на снимку екрана испод, када се команда Гет-Процесс заврши, ПоверСхелл се не враћа на свој одзивник. Ово указује да је дошло до кашњења од 5 минута (300 секунди).

Како додати ПоверСхелл стање мировања после или пре команде

На супротној страни горњег примера, такође можете користити ПоверСхелл спавање да додате кашњење, а затим покренете команду.

Овај пут, уместо додавања Старт-Слееп после команде, ми га додајемо пре команде...

|_+_|

Овог пута, кашњење ће се појавити пре него што се команда покрене.

Како користити ПоверСхелл Слееп за поновни покушај скрипте

Покушавајући да пронађем решење за ово, пронашао сам постојећу скрипту коју је поднео а стацковерфлов.цом сарадник (Ансгар Вицхерс).

Ансгар је креирао функцију испод. Он је то назвао Ретри-Цомманд. Променио сам функцију у Редо-Цомманд тако да користим глагол који је одобрио ПоверСхелл.

Осим тога, приписујем пуно признање Ансгару Вицхерсу. Ево целог сценарија…

|_+_|

Па, такође сам поставио скрипту за наше читаоце да је преузму и користе. Да бисте преузели и користили функцију, следите доле наведене кораке:

  1. Кликните на преузимање Редо-Цомманд.зип . Затим распакујте преузету зип датотеку.
  2. Копирајте распаковани директоријум, Редо-Цомманд у ц:усерсДоцументсВиндовсПоверСхеллМодулес
  3. Затим отворите ПоверСхелл и покрените наредбу испод – команда откључава датотеку. Ово зауставља ПоверСхелл да вас стално упозорава да је датотека преузета са интернета
|_+_|
  1. Коначно, да бисте користили ПоверСхелл функцију Слееп за поновни покушај скрипте, покрените команду попут оне испод:
|_+_|

Подразумевани поновни покушај је 5 пута. Међутим, ако желите да додате прилагођени поновни покушај, користите параметар Макимум као што је приказано у наставку...

|_+_|

У последњој команди добијате поновни покушај 8 пута пре него што се врати грешка.

Како ставити ПоверСхелл скрипту у стање мировања док датотека не постоји

Да бисте ставили ПоверСхелл скрипту у стање мировања док датотека не постоји, потребно је да користите Тест-Патх и Старт-Слееп у вхиле петљи.

Ево опште синтаксе ПоверСхелл вхиле петље која вам је потребна:

|_+_|

Да дам пример, проверићу да ли датотека под називом евентлог.ткт на диску Д постоји. Скрипта се неће наставити док датотека не буде доступна.

Ево сценарија…

|_+_|

Команда Тест-Патх проверава да ли датотека постоји. Ако датотека постоји, Путања теста враћа Труе.

Напротив, ако датотека не постоји, Путања теста враћа Фалсе. Додавањем ! пре тест-путања, обрнуо сам резултат.

Дакле, резултат у вхиле петљи је Тачно ако датотека не постоји.

У суштини, команда каже следеће: ако је путања теста д:евентлог.ткт једнака Фалсе (Датотека НЕ ​​постоји), вратите се Истина за петљу вхиле. Штавише, што се тиче услова док је Истина , извршите команду Старт-Слееп 10 (кашњења 10 секунди).

Затим се вратите на условни део петље вхиле и проверите да ли датотека постоји. Ако не, одложите још 10 секунди. Ова петља ће се наставити све док датотека не постоји – тада ће се петља прекинути и ПоверСхелл ће се наставити.

Да бих тестирао ову скрипту, прво ћу је покренути (без датотеке, д:евентлог.ткт)

Као што се види на слици испод, петља вхиле ће се наставити јер датотека не постоји.

Како ставити ПоверСхелл скрипту у стање мировања док датотека не постоји

Да бих прекинуо петљу, направићу датотеку. Када направим датотеку, вхиле петља ће се прекинути и ПоверСхелл ће се наставити (погледајте снимак екрана испод):

Како натерати ПоверСхелл да заувек спава док не притиснем Цтрл + Ц

Ако покрећете команду коју не желите да прекинете док не притиснете Цтрл + Ц, потребна вам је вхиле петља.

На пример, да бисте покренули ПоверСхелл команду – Гет-ЕвентЛог -ЛогНаме Апплицатион – заувек (непрекидно, док не притиснете Цтрл + Ц), користите наредбу у наставку:

|_+_|

Оно што команда ради је следеће: све док је команда у делу {} вхиле петље тачна, наставите да радите.

Како ПоверСхелл спавати док се процес покретања не заврши

Овај пример је директна супротност претходном примеру. У последњем примеру, наставио сам да процес ради непрекидно.

Међутим, у овом примеру желим да ПоверСхелл спава док се процес не заврши. Када се процес заврши, спавање се прекида.

Као и претходни пример, вхиле петља ће обавити посао. Међутим, начин на који је вхиле петља конфигурисана је другачији.

Овог пута сам ставио команду у () блок вхиле петље. Међутим, морам да додам! пре команде.

Ево мог примера…

|_+_|

Ова команда каже ПоверСхелл-у, док је (Гет-ЕвентЛог -ЛогНаме Апплицатион) тачно, нека ПоверСхелл спава 5 секунди. Након мировања, ПоверСхелл ће проверити да ли је команда (Гет-ЕвентЛог -ЛогНаме Апплицатион) још увек покренута.

Ако и даље ради, почните да спавате још 5 секунди. Ова петља ће се наставити док се команда не заврши...

Надам се да вам је овај водич лак за разумевање и од помоћи! Ако вам је водич помогао, љубазно гласајте са Да ли је овај пост био од помоћи? испод.

Такође можете дати детаљне повратне информације користећи ОСТАВИТЕ ОДГОВОР на крају ове странице.

Коначно, можда ће вам бити од помоћи наши други ПоверСхелл водичи. Да бисте прочитали детаљније ПоверСхелл водиче, посетите нашу страницу са објашњењима о ПоверСхелл-у и ЦМД-у.

Још једна ствар пре него што кренете, ако желите да научите ПоверСхелл, можда бисте желели да обележите нашу страницу са упутствима за ПоверСхелл.