Как я могу сделать так, чтобы мой скрипт прослушивал ввод пользователя, когда он работает и выполняет фоновые операции. «Read-host» не делает то, что я хочу, потому что он показывает подсказку и ждет ввода пользователя. Я не хочу ждать, поскольку ввод пользователя не является обязательным. Более того, во время выполнения сценария (сценарий выполняется с длительным циклом) я хочу изменить некоторые параметры, не останавливая сценарий.
Так, например, когда я нажимаю 4 на клавиатуре, сценарий должен выбрать его во время работы и установите переменную Speci c равной "4" и продолжайте обработку с переменной, установленной на это значение.
Похоже, что решением было бы использовать какой-то "слушатель", который сидит в фоновом режиме и слушает на нажатия клавиш, но я не знаю, можно ли это сделать с помощью Powershell.
Редактировать: я редактирую пост для некоторых разъяснений. Это не настоящий код, но показывает структуру. Существует вечный l oop, который создает ряд фоновых задач. Если число падает ниже предела, создаются новые фоновые задачи. То, что я хочу, - это возможность изменить $ limit, введя новое значение, пока l oop продолжает работать. L oop должен продолжать работать и не ждать ввода, так как ввод полностью необязателен.
$limit = SOME_VALUE
while($condition)
{
if ($total_number_of_background_tasks < $limit) {
create new background task }
}
Continue to do something