gpt4 book ai didi

powershell - 函数与方法中的命令输出

转载 作者:行者123 更新时间:2023-12-03 00:24:50 25 4
gpt4 key购买 nike

调用应用程序时,我希望看到它的“实时”输出。

当我在函数中调用它时,它可以正常工作,就像我直接调用它一样。
我可以使用Ctrl + C取消应用程序,并更新应用程序输出的“进度条”:

function Test()
{
dism.exe /online /Cleanup-Image /AnalyzeComponentStore
}

Test
[===                        5.5%                           ]

但是,当我使用 方法调用它时,没有可见的输出。
我可以通过编写 & dism.exe /online /Cleanup-Image /AnalyzeComponentStore 2>&1 | Write-Host来解决此问题,但是在此示例中,它不会更新进度条,而是只要有进度更新,就写一行新行:
class TestC
{
Test()
{
& dism.exe /online /Cleanup-Image /AnalyzeComponentStore 2>&1 | Write-Host
}
}

$testC = [TestC]::new()
$testC.Test()
[=                          3.3%                           ]

[=== 5.5% ]

我也无法使用Ctrl + C取消应用程序,而是仅取消脚本,并且被调用的应用程序在后台继续。

对此有解释吗?还有可行的解决方法? :)

谢谢!

最佳答案

您可以将Start-Process cmdlet与-NoNewWindow参数一起使用:

Start-Process dism.exe -ArgumentList "/online /Cleanup-Image /AnalyzeComponentStore" -NoNewWindow -Wait

关于powershell - 函数与方法中的命令输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61709663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com