Powershell&良好的输出文件格式

时间:2013-02-14 12:15:03

标签: powershell sqlcmd

我编写了一个小的PowerShell脚本,它从文本文件中读取sql server实例的名称,然后循环它们并将查询结果输出到文本文件中。

foreach ($Instance in Get-Content C:\temp\SQLServers.txt)
{
$Instance;
$File ="c:\temp\SqlLoopLog.txt"
Add-Content $File "`r`n$Instance"
Invoke-Sqlcmd -ServerInstance $Instance -Database msdb -Query "select * from dbo.[sysjobs]" | Out-File $File 
}

但是当调用Invoke-Sqlcmd时,每次都会重新设置文件SqlLoopLog.txt的内容。但是,如果我添加-append,那么信息将在一行而不是几行中输出,并且它是不可读的。如何以可读格式输出数据?

1 个答案:

答案 0 :(得分:0)

你可以尝试一下:

$output=(Invoke-Sqlcmd -ServerInstance $Instance -Database msdb -Query "select * from dbo.[sysjobs]").tostring()
$output+="`n"
$output | out-file -append $file