我在 PowerShell 脚本中使用 Add-Content cmdlet 将 foreach 循环中的匹配项写入单独的文本文件。为此,我使用以下代码:
Add-Content -Path $varListNotFound $match
$varListNotFound
包含文件名和路径,而 $match
是 foreach 循环中与我的项目范围匹配的变量。
我不确定这是否有什么不同,但我匹配的匹配项是从 XML 文档中提取的。
在输出文本文件中,在 <name></name>
中找到的匹配项我的 XML 文件的节点会正确输出,除非名称很长。当名称太长时,它会将名称截断为 76 个字符,并在后面添加三个句点。这导致我使用清除未使用的项目的这行代码出现问题:
$xml.rhpml.variables.variable | ? { $varRemove -contains $_.name } | % {$xml.rhpml.variables.RemoveChild($_)}
我已添加到脚本中,以便可以删除截断末尾的省略号,但截断的名称不会从 XML 文档中删除。
有没有办法延长附加内容的长度?或者有没有办法让上面的 XML 代码不排除被截断的名称?
我尝试更改 $varRemove -contains $_.name
至$varRemove -like$_.name
,但它没有从 XML 中删除节点。
最佳答案
尝试使用 Out-File cmdlet 而不是 Add-Content,并指定 Append 和 Width 属性。
关于xml - Powershell 添加内容截断输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13074942/