powershell将结果输出到文件

时间:2013-03-21 10:56:53

标签: powershell powershell-v2.0

我正在尝试使用Powershell V2.0将SQL查询的内容写入文件。我可以成功使用Write-Host CMDlet写入控制台屏幕,但是当我更改为Write-Output时,test.txt文件中只返回一个结果(而不是大约700)。为什么会这样?

 foreach ($row in $DataSet.Tables[0].Rows){ 
    $name = $row[0].ToString().Trim()
    Write-Output $name >test.txt
    }

2 个答案:

答案 0 :(得分:0)

你只得到一行(这是最后一个结果),因为>运算符会覆盖。 >>追加。

但是,获得相同结果的更有效方式(未经测试)是:

$DataSet.Tables[0].Rows|select-object -expandproperty NAMEOFFIRSTCOLUMN|out-file test.txt

答案 1 :(得分:0)

您使用>重定向到输出文件(而不是>>)在每条记录上。这导致文件被重写为每条记录,而你只剩下输出文件中的最后一条记录。

这应该更好:

&{
  foreach ($row in $DataSet.Tables[0].Rows){ 
  $row[0].ToString().Trim()
  } }| set-content test.txt