使用Powershell将结果或文本附加到文本文件

Fra*_*ron 10 powershell

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

$colProducts | sort-object ProductName | `
   Select-object ProductName PartName | `
   Format-Table -autosize ProductName, PartName | `
   Out-File myProducts.txt 
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.但是,我很难在结果文件中附加文本消息,如下所示:

Add-Content myProducts.txt "`nParts in more than one Product`n"
Run Code Online (Sandbox Code Playgroud)

我发现附加的文字最后是不可读的.我注意到的一件事是第一个集合到文件的输出是用Unicode,第二个代码(add-content)是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
Run Code Online (Sandbox Code Playgroud)

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

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

FLG*_*Mwt 13

我会先尝试一下:

$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
Run Code Online (Sandbox Code Playgroud)

然后看看这个,以了解你遇到的情况.

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

而且,当然,help Out-File -Detailed!总是看看powershell的例子,因为它们有很大的帮助,不仅要弄清楚它们的常用用法,还要弄清楚它们.


Hun*_*son 4

尝试:

$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
Run Code Online (Sandbox Code Playgroud)