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
    }
4

2 回答 2

0

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

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

$DataSet.Tables[0].Rows|select-object -expandproperty NAMEOFFIRSTCOLUMN|out-file test.txt
于 2013-03-21T11:07:22.403 回答
0

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

这应该会更好:

&{
  foreach ($row in $DataSet.Tables[0].Rows){ 
  $row[0].ToString().Trim()
  } }| set-content test.txt
于 2013-03-21T11:08:16.790 回答