2

我在 PowerShell 脚本中使用 Add-Content cmdlet 将 foreach 循环中的匹配项写入单独的文本文件。为此,我使用以下代码:

Add-Content -Path $varListNotFound $match

$varListNotFound包含文件名和路径,而是$matchforeach 循环中与我的项目范围匹配的变量。

我不确定它是否有区别,但我匹配的匹配项是从 XML 文档中提取的。

在输出文本文件中,在<name></name>我的 XML 文件的节点中找到的匹配项会正确输出,除非名称很长。当名称太长时,它会将名称截断为 76 个字符并在其后添加三个句点。这导致我正在使用清除未使用项目的这行代码出现问题:

$xml.rhpml.variables.variable | ? { $varRemove -contains $_.name } | % {$xml.rhpml.variables.RemoveChild($_)}

我已添加到我的脚本中,以便可以从截断末尾删除省略号,但不会从 XML 文档中删除截断的名称。

有没有办法延长 Add-Content 的长度?或者有没有办法让上述 XML 代码不排除截断的名称?

我尝试更改$varRemove -contains $_.name$varRemove -like$_.name,但它没有从 XML 中删除节点。

4

1 回答 1

2

尝试使用 Out-File cmdlet 而不是 Add-Content,并指定 Append 和 Width 属性。

于 2012-10-25T18:39:16.020 回答