如何取消&命令运算符的输出?

时间:2019-05-18 00:44:07

标签: powershell

假设我有2个脚本

我这样在script2中调用script1

& "script1.ps1" -UpdateConnection "$DB_NAME"

我正在使用script1更新连接,但是我不希望从script2运行时显示任何输出

我尝试过:

& "script1.ps1" -UpdateConnection "$DB_NAME" > $null

& "script1.ps1" -UpdateConnection "$DB_NAME" | out-null

它什么都不做,输出仍然显示

我尝试过

"& `"script1.ps1`" -UpdateConnection `"$DB_NAME`" | out-null

尽管没有输出显示script1.ps1没有执行,但它却出现了,因为我没有看到连接已更改

我该怎么做才能避免这种情况?

1 个答案:

答案 0 :(得分:2)

这是脚本的一个基本问题,因为(我假设)在script.ps1中,您正在使用Write-Host,其中应选择Write-Output,请参见以下示例

# File: test.ps1
Write-Output "hello output!"
Write-Host "hello host!"
PS C:\> & ".\test.ps1"
hello output!
hello host!

PS C:\> & ".\test.ps1" | Out-Null
hello host!