Попросите пользователя выбрать имя файла из меню опций командной строки

#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 .