【问题标题】:how to automatically answer Yes to multiple prompt in powershell如何在PowerShell中自动对多个提示回答是
【发布时间】:2020-04-14 19:36:32
【问题描述】:

我正在尝试在以下命令中自动回答多个“是” Install-Module -Name PSWindowsUpdate -Force -Confirm:$false

我检查了下面的 url,它只回答一个 y,但尝试添加 2 'y' 如下,它不起作用。 有什么方法可以实现吗?

cmd /c echo y y| powershell“将提示的命令”

Automatically confirm Yes to powershell script

【问题讨论】:

    标签: windows powershell


    【解决方案1】:

    来自 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

    【讨论】:

    • 感谢@mklement0 的详细解释
    猜你喜欢
    • 2012-12-13
    • 2021-08-24
    • 2022-09-26
    • 1970-01-01
    • 2018-09-26
    • 2012-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多