首页 > 解决方案 > 在PowerShell中分配属性值时如何抑制控制台输出?

问题描述

我正在尝试在 XML 节点上设置 InnerText 属性的值。IE

$b = $a.CreateElement("MyNode");
$b.InnerText = "MyValue";

这有效,但会生成控制台输出。它将 MyValue 写入控制台。

我可以把它改成这样:

$b = $a.CreateElement("MyNode");
$b.InnerText = "MyValue" | Out-Null;

但是,在这种情况下,InnerText 的值未设置为 MyValue。

如何在不写入控制台的情况下设置 InnerText 的值?

标签: powershell

解决方案


有多种方法可以防止输出:

将输出定向到$null变量:

($b.InnerText = "MyValue") | Out-Null

将输出存储在$null变量中:

$null = ($b.InnerText = "MyValue")

制作输出的数据类型[void]

[void]$b.InnerText = "MyValue"

如果对您不起作用,(1 -eq 1)则用于生成输出。$b.InnerText = "MyValue"


推荐阅读