У меня есть код, который ведет себя странно, и я не уверен, почему. Я пытаюсь проверить, что пользовательский ввод является числом и что он меньше 255. Довольно легко.подтверждение ввода пользовательской команды powershell не принимает действительный ввод
Проблема в том, что числа от 26 до 99 недействительны для меня в ходе тестирования. 1-25 хороши, а 100+ тоже выглядят хорошо .. но по какой-то причине 26-99 держу меня в петле.
DO
{
$ip_addr_first = Read-Host 'enter a number less than 255'
} while ($ip_addr_first -notmatch '\p{Nd}+' -or $ip_addr_first -gt 255)
write-host 'You entered' $ip_addr_first
Предложения приветствуются, где проблема, так как я в затруднении здесь.
спасибо ... литая новый один для меня, так как я только учусь Powershell –
@PS_newbie: С удовольствием; в PowerShell вам часто не нужно беспокоиться о типах, но иногда вы это делаете - как правило, стоит понять базовые типы (.NET) и как их можно проверить («Get-Member») и преобразовать. Мое альтернативное решение показывает вам, как вводить ограничения типа во время инициализации (постоянный отбор, в виде речи). – mklement0