【问题标题】:Append results or text to text file by using Powershell使用 Powershell 将结果或文本附加到文本文件
【发布时间】:2014-03-26 20:50:05
【问题描述】:

我有一组具有以下属性的对象:ProductName 和 PartName。集合内容先输出到文件:

$colProducts | sort-object ProductName | `
   Select-object ProductName PartName | `
   Format-Table -autosize ProductName, PartName | `
   Out-File myProducts.txt 

到目前为止一切顺利。但是,我无法像这样将文本消息附加到结果文件中:

Add-Content myProducts.txt "`nParts in more than one Product`n"

我发现最后附加的文本不可读。我注意到的一件事是,第一个集合到文件的输出是 Unicode,而第二个代码(添加内容)是 ASCII,如果只是到一个新文件。

在此之后,我想继续在相同的结果文件中添加以下信息:

$colProducts | Group-object PartName | sort-object PartName | `
   Where-Object {$_.Count -gt 1 } | `
   Select-object ProductName PartName | `
   Format-Table -autosize ProductName, PartName | `
   Out-File myProducts.txt

以上代码将覆盖结果文件。我需要附加到文件中。非常感谢帮助!

更新:很高兴知道 -Append 选项。添加内容怎么样?在 Out-File from collection 之后,似乎在文件中添加了一些不可读的字符。

【问题讨论】:

  • Out-File -Append 不起作用吗?
  • 顺便说一句,您不需要在行尾使用反引号。 PowerShell 允许您以竖线字符结束一行。

标签: powershell


【解决方案1】:

试试:

$colProducts | Group-object PartName | sort-object PartName | `
   Where-Object {$_.Count -gt 1 } | `
   Select-object ProductName PartName | `
   Format-Table -autosize ProductName, PartName | `
   Out-File -Append myProducts.txt

【讨论】:

    【解决方案2】:

    我会先尝试:

    $colProducts | Group-object PartName | sort-object PartName | `
      Where-Object {$_.Count -gt 1 } | `
      Select-object ProductName PartName | `
      Format-Table -autosize ProductName, PartName | `
      Out-File -Append myProducts.txt
    

    然后查看this 以了解您遇到的情况。

    本质上,Out-File(和Out-File -Append)默认为您提供Unicode,Add-Content默认为您提供ASCII。我的建议是坚持相同的命令,你不应该有问题。

    当然还有help Out-File -Detailed!始终查看 powershell 示例,因为它们有很大帮助,不仅可以了解它们的常见用法,还可以了解它们。

    【讨论】:

      【解决方案3】:

      另一种选择:

      $colProducts | sort-object ProductName | `
         Select-object ProductName PartName | `
         Format-Table -autosize ProductName, PartName | `
         Out-String | Add-Content myProducts.txt 
      
      Add-Content myProducts.txt "`nParts in more than one Product`n"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-04-12
        • 1970-01-01
        • 1970-01-01
        • 2015-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多