powershell将结果输出到文件
问题描述:
我正在尝试使用Powershell V2.0将SQL查询的内容写入文件。我可以成功地使用Write-Host CMDlet写入控制台屏幕,但是当我更改为Write-Output时,test.txt文件中只返回一个结果(而不是约700)。为什么会这样呢?powershell将结果输出到文件
foreach ($row in $DataSet.Tables[0].Rows){
$name = $row[0].ToString().Trim()
Write-Output $name >test.txt
}
答
你的每个记录使用(而不是>>)>重定向到输出文件。这会导致文件被重写为每个记录,并且只剩下输出文件中的最后一条记录。
这应该更好地工作:
&{
foreach ($row in $DataSet.Tables[0].Rows){
$row[0].ToString().Trim()
} }| set-content test.txt
答
你只得到了一条线(和它的最后的结果),因为>
运营商覆盖。追加>>
。
但要得到相同的结果更有效的方式(未经测试)是:
$DataSet.Tables[0].Rows|select-object -expandproperty NAMEOFFIRSTCOLUMN|out-file test.txt
+0
由于它问我现在每次提供的值的参数。我可能需要做一些字符串操作让你的建议的方法可能无法正常工作 – steven 2013-03-21 11:12:29
由于它要求我现在每次都要为这个值提供一个参数.. – steven 2013-03-21 11:10:13
发布备用解决方案 – mjolinor 2013-03-21 11:18:29