gpt4 book ai didi

powershell - 隐藏写入主机输出

转载 作者:行者123 更新时间:2023-12-02 17:41:38 24 4
gpt4 key购买 nike

我正在编辑一个脚本,需要将其转换为 exe。它有一些脚本运行时状态的 Write-Host 输出。这会导致脚本的 exe 向用户显示对话框,迫使他们在脚本完成之前单击“确定”3 或 4 次。

我想保留 Write-Host 输出,但当最终用户从 exe 执行它时隐藏它们(对话框)。

这可能吗?我研究了代码不喜欢的 [void] 。我可以开始工作的唯一其他方法就是用 # 注释掉它,但我确信有更好的方法。

我想要隐藏/抑制的内容示例:

Write-Host "Current Status = " $status

最佳答案

根据评论,您应该使用 Write-Verbose 而不是 Write-Host,因为这样可以轻松地为您提供所需的功能。但是,要使用 Write-Verbose,您还需要进行一些其他更改:

首先,您需要将其添加到脚本的顶部:

 [cmdletbinding()]
Param()

这为您的脚本提供了一组默认参数,其中一个包括 -Verbose,它允许在使用时显示任何 Write-Verbose 消息。

其次(根据您提供的示例)您可能需要稍微重写一些(现在)Write-Verbose 字符串语句。例如:

write-host "Current Status = " $status

Write-Host配合使用,因为它接受字符串数组作为输入。 Write-Verbose 则不然,它只需要单个字符串,因此上面的示例需要更改为:

Write-Verbose "Current Status =  $status"

请注意,通过使用双引号字符串,变量仍会扩展。

关于powershell - 隐藏写入主机输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45952811/

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