【发布时间】:2020-04-14 19:36:32
【问题描述】:
我正在尝试在以下命令中自动回答多个“是” Install-Module -Name PSWindowsUpdate -Force -Confirm:$false
我检查了下面的 url,它只回答一个 y,但尝试添加 2 'y' 如下,它不起作用。 有什么方法可以实现吗?
cmd /c echo y y| powershell“将提示的命令”
【问题讨论】:
标签: windows powershell
我正在尝试在以下命令中自动回答多个“是” Install-Module -Name PSWindowsUpdate -Force -Confirm:$false
我检查了下面的 url,它只回答一个 y,但尝试添加 2 'y' 如下,它不起作用。 有什么方法可以实现吗?
cmd /c echo y y| powershell“将提示的命令”
【问题讨论】:
标签: windows powershell
来自 PowerShell:
, 'y' * 2 | powershell -c 'read-host one; read-host two'
, 'y' * 2 构造一个由'y' 字符串组成的2 元素数组(相当于'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
【讨论】: