#powershell #user-input #options
#powershell #пользовательский ввод #optionmenu
Вопрос:
Я хочу скрипт, который просит пользователя выбрать из списка вариант, например:
Please select a kind of report
1.HeadOffice
2.All offices
3.Office1
4.Office2
5.Office3
Код:
$headoffice = headoffice.csv
$Alloffices = alloffices.csv
$Office1 = office1.csv
$Office2 = office2.csv
$Office3 = office3.csv
$csv = "selected one"
Foreach($target in $csv){
# Do custom scan AND rainbows.
}
Возможно ли это?
Ответ №1:
Сначала вы должны создать хэш-таблицу, в которой имена файлов пронумерованы следующим образом:
$table = @{
'1' = 'headoffice.csv'
'2' = 'alloffices.csv'
'3' = 'office1.csv'
'4' = 'office2.csv'
'5' = 'office3.csv'
}
Затем вы можете попросить пользователя выбрать параметр, используя Read-Host
и строку здесь:
$choice = Read-Host @'
Please select a kind of report
1.HeadOffice
2.All offices
3.Office1
4.Office2
5.Office3
'@
Наконец, вы можете проиндексировать хэш-таблицу с этим значением и, таким образом, получить доступ к соответствующему имени файла:
$filename = $table[$choice]
Обратите внимание, что если вы работаете с файлами CSV, вы также можете захотеть ознакомиться с Import-Csv
.