Powershell&;输出文件的格式很好

Powershell&;输出文件的格式很好,powershell,sqlcmd,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 -Databas

我编写了一个小的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,那个么信息将在一行而不是几行中输出,并且它是不可读的。如何以可读的格式输出数据?

您可以试试:

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

我遇到错误:方法调用失败,因为[System.Data.DataRow]不包含名为“op_Addition”的方法。我刚刚在代码段中做了一些更改。你能试试现在的吗?我已经更新了答案