【问题标题】:Powershell Add-Content Truncating OutputPowershell 添加内容截断输出
【发布时间】: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


    【解决方案1】:

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

    【讨论】:

    • 我试过这个:Out-File -FilePath &varListNotFound -width 200 -append $match 但是当我打开输出文件时,它应该有值时是空白的。也许我没有正确使用 Out-File?
    • 发现问题。我应该这样做:$match | Out-File -FilePath &varListNotFound -width 200 -append
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-22
    • 1970-01-01
    • 2017-03-23
    • 1970-01-01
    • 2012-12-08
    • 1970-01-01
    相关资源
    最近更新 更多