Скрипт цикла, если -loop $ true передается именованными параметрами - PullRequest
0 голосов
/ 30 марта 2012

Я хотел бы зациклить свой скрипт, если он начался с myscript.ps1 -loop -seconds 20 (секунды будут началом-сна между циклами).

  • Скрипт довольно сложный, и я поставил два других файла скрипта (один для функций и один для настроек).
  • Я запрашиваю пароль с $password = Read-Host "Enter password" -AsSecureString в скрипте, поэтому я не думаю, что у меня может быть скрипт kicker / launcher без потери переменной $ password, заставляющей меня вводить pwd each loop ..

Как бы я мог выполнить цикл сценария и цикл ТОЛЬКО, если -loop передан как именованный параметр?

Должен ли я поместить весь сценарий в цикл while или каким будет лучший способ?

1 Ответ

3 голосов
/ 30 марта 2012

Используйте цикл do .. while, например:

# Dot source other scripts
# Ask for and store password in a variable
do {
    ... # this stuff happens once or until Ctrl+C depending on $loop switch
    if ($loop) { Start-Sleep -sec $seconds }
} while ($loop)

Несмотря на то, что вместо переключателя цикла вам лучше использовать счетчик циклов, который по умолчанию равен 1?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...