как автоматически ответить Да на несколько подсказок в powershell - PullRequest
1 голос
/ 13 апреля 2020

Я пытаюсь автоматически ответить на несколько раз «Да» на приведенную ниже команду. Install-Module -Name PSWindowsUpdate -Force -Confirm: $ false

Я проверил ниже URL, и он отвечает только один y, но пытается добавить 2 'у', как показано ниже, это не работает. Есть ли способ, которым мы можем это сделать?

cmd / c echo yy | powershell "команда, которая будет поддерживать"

Автоматически подтвердить Да для сценария powershell

1 Ответ

2 голосов
/ 13 апреля 2020

Из PowerShell :

, 'y' * 2  | powershell -c 'read-host one; read-host two'

, 'y' * 2 создает массив из 2 элементов, состоящий из 'y' строк (эквивалент 'y', 'y').

Используется как вход конвейера для внешней программы (в данном случае это другой процесс PowerShell), PowerShell отправляет каждый элемент, за которым следует новая строка , каждая из которых отвечает на один запрос в коде PowerShell.


С cmd.exe:

(echo y& echo y) | powershell -c "read-host one; read-host two"

Примечание: использование (...) в конвейер, по-видимому, неизменно добавляет пробел к каждой echo выходной команде , поэтому каждое приглашение в PowerShell получает 'y <Enter>'; это не должно быть проблемой, но если это так, вы можете использовать промежуточный временный файл:
(echo y& echo y) >tmp.txt & type tmp.txt | powershell ... & del tmp.txt

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...