【发布时间】:2012-10-16 00:16:52
【问题描述】:
我在 PowerShell 脚本中使用 Add-Content cmdlet 将 foreach 循环中的匹配项写入单独的文本文件。为此,我使用以下代码:
Add-Content -Path $varListNotFound $match
$varListNotFound 包含文件名和路径,而 $match 是我的项目范围中匹配的 foreach 循环中的变量。
我不确定这是否有区别,但我匹配的匹配项是从 XML 文档中提取的。
在输出文本文件中,在我的 XML 文件的 <name></name> 节点中找到的匹配项会正确输出,除非名称很长。当名称太长时,它会将名称截断为 76 个字符并在其后添加三个句点。这导致我正在使用清除未使用项目的这行代码出现问题:
$xml.rhpml.variables.variable | ? { $varRemove -contains $_.name } | % {$xml.rhpml.variables.RemoveChild($_)}
我已添加到我的脚本中,以便我可以从截断末尾删除省略号,但截断的名称不会从 XML 文档中删除。
有没有办法延长 Add-Content 的长度?或者有没有办法让上述 XML 代码不排除截断的名称?
我尝试将 $varRemove -contains $_.name 更改为 $varRemove -like$_.name,但它没有从 XML 中删除节点。
【问题讨论】:
标签: xml powershell truncation output