我在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文档中删除截断的名称。
有没有办法延长添加内容的长度?或者有没有办法让上面的XML代码不排除截断的名称?
我尝试将$varRemove -contains $_.name
更改为$varRemove -like$_.name
,但它没有从XML中删除节点。
答案 0 :(得分:2)
尝试使用Out-File cmdlet而不是Add-Content,并指定Append和Width属性。