Главная > Powershell > Меню для скриптов Powershell

Меню для скриптов Powershell

Во многих своих скриптах у меня присутствует меню выбора действия вроде того, которое появляется при вызове изменяющих что-либо командлетов с параметром –Confirm.

Remove-Item -Confirm

Remove-Item с параметром -Confirm

Для реализации такого меню использую рекомендацию с сайта  Microsoft Technet.

Но каждый раз, когда нужно вставить меню начинаются поиски этой ссылки, или предыдущего скрипта, в котором есть меню. И по закону подлости поиски всегда затягиваются на какое-то время, тем самым тормозя творческий процесс 🙂

Поэтому, чтобы каждый раз не искать ссылку, и не перебирать все скрипты в поисках этого самого меню решил сделать небольшую заметку, чтобы знать куда бежать в следующий раз 🙂

Итак, меню может выглядеть таким образом:

$Title = "Запрос подтверждения"
$Message = "Ты действительно хочешь сделать это?"

$Yes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes", `
    "Да, хочу."
$No = New-Object System.Management.Automation.Host.ChoiceDescription "&No", `
    "Нет, не хочу."

$Options = [System.Management.Automation.Host.ChoiceDescription[]]($Yes, $No)
$Result = $Host.Ui.PromptForChoice($Title, $Message, $Options, 0)

switch ($Result)
    {
        0   {
                Write-Host -ForegroundColor Green "OK! Мы сделали это!"
            }
        1   {
                Write-Host -ForegroundColor Red "Нет, так нет"
            }
    }

Если пунктов меню не два, а три и более, то это легко решается небольшим допиливанием.

Реклама
Рубрики:Powershell Метки:
  1. Комментариев нет.
  1. No trackbacks yet.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: