我正在尝试使用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
}
答案 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