iNNOKENTIY21
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору mithridat1 Цитата: как организовать пронумерованный вывод списка, значения которого заранее неизвестны. |
Код: $Ip = (Get-NetIPAddress | Where-Object {$_.AddressFamily -eq 'IPv4'}).IPAddress for ($i=1; $i -le $Ip.Count; $i++) { "{0}. {1}" -f $i, $Ip[$i-1] } | и прикрутить Read-Host и Switch. или воспользоваться командлетом с GUI — Out-GridView: Код: (Get-NetIPAddress | Where-Object {$_.AddressFamily -eq 'IPv4'}).IPAddress | Out-GridView -Title 'Выбор IP: Выберете ip адрес и нажмите кнопку: OK' -OutputMode Single | или воспользоваться методом — PromptForChoice: Код: <# PSHostUserInterface.PromptForChoice(String, String, Collection<ChoiceDescription>, Int32) Method (System.Management.Automation.Host) Microsoft Docs — https://docs.microsoft.com/en-us/dotnet/api/system.management.automation.host.pshostuserinterface.promptforchoice?view=powershellsdk-1.1.0 #> # Коллекция типа [ChoiceDescription] [string]Подпись, [string]Справка # & — перед знаком, на который нужно будет нажать для выбора [System.Management.Automation.Host.ChoiceDescription[]]$ChoiceDescriptionCollection = @( [System.Management.Automation.Host.ChoiceDescription]::new("&Лейбл", "Справка"), [System.Management.Automation.Host.ChoiceDescription]::new("Лей&бл", "Справка") ) $Caption = "Заголовок" $Description = "Описание" $DefaultChoice = 1 # Значение по умолчанию $ChoiceDescriptionCollection[индекс] с нуля switch ($Host.UI.PromptForChoice($Caption, $Description, $ChoiceDescriptionCollection, $DefaultChoice)) { 0 { "Вы выбрали первый пункт" } 1 { "Вы выбрали второй пункт" } Default { "Что то пошло не так" } } |
|