我正在编辑一个我需要转换为exe的脚本.它Write-Host在运行时有一些脚本状态的输出.这导致脚本的exe向用户显示对话框,迫使他们在脚本完成之前单击OK 3或4次.
我想保留Write-Host输出但只是在最终用户从exe执行它时隐藏它们(对话框).
这可能吗?我已经查看[void]了代码不喜欢的内容.我可以开始工作的另一种方式就是用它来评论#,但我确信有更好的方法.
我想要隐藏/抑制的示例:
Write-Host "Current Status = " $status
Run Code Online (Sandbox Code Playgroud)
根据你应该使用的评论,Write-Verbose而不是Write-Host因为这将为你提供你想要的功能,只需要很少的努力.但是要使用,Write-Verbose还需要进行其他一些更改:
首先,您需要将其添加到脚本的顶部:
[cmdletbinding()]
Param()
Run Code Online (Sandbox Code Playgroud)
这为您的脚本提供了一组默认参数,其中包括-Verbose允许Write-Verbose在使用时显示任何消息的默认参数.
其次(基于您给出的示例),您可能需要稍微重写一些(现在的)Write-Verbose字符串语句.例如:
write-host "Current Status = " $status
Run Code Online (Sandbox Code Playgroud)
工程与Write-Host因为它需要字符串作为输入的阵列.同样不是这样Write-Verbose,它只需要一个字符串,所以上面的例子需要改为:
Write-Verbose "Current Status = $status"
Run Code Online (Sandbox Code Playgroud)
请注意,通过使用双引号字符串,变量仍将展开.
| 归档时间: |
|
| 查看次数: |
862 次 |
| 最近记录: |