$ выбрано не целое число
Read-Host
всегда будет возвращать строки. Вы создали свою хеш-таблицу с помощью цифровых клавиш . Итак, в простейшей форме вам нужно привести целые числа из вашего ввода.
[int]$selected = Read-Host -Prompt 'Który z plików chcesz zmienić?';
или
$selected = (Read-Host -Prompt 'Który z plików chcesz zmienić?') -as [int];
Остерегайтесь того, что, поскольку вы можете набрать все, что вы хотите, в Read-Host
, вы должны выполнить некоторую проверку данных, прежде чем пытаться использовать эти данные как целое число.
Изменить хеш-таблицу
Вы также можете уменьшить эту сложность, используя строки при генерации хеш-таблицы
$hash.Add(("$i"),(@{
Используя этот подход, вам не нужно вносить изменения в вывод подсказки Read-Host
Усовершенствуйте свой метод выбора
Возможно, вы сможете улучшить выбранную вами систему в зависимости от необходимой сложности вашей задачи.