我正在尝试在以下命令中自动回答多个"is"
安装-模块-名称 PSWindowsUpdate -Force -Confirm:$false
我检查了下面的 url,它只回答一个 y,但尝试添加 2 'y',如下所示,它不起作用。
有什么方法可以做到吗?
cmd/c 回显 y y| powershell“将提示的命令”
Automatically confirm Yes to powershell script
最佳答案
来自 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
关于windows - 如何在powershell中自动对多个提示回答是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61180498/