4

输出示例:

#TYPE System.Data.DataRow <---
"PersonalNr" <---
"00001005"
"00001008"
"00001009"
"00001013"
"00001019"
"00001024"

要求:

我想要一个没有前 2 行且没有引号符号的输出,我该怎么做?

对于标题,我尝试了选项-h -1,但输出仍然相同。甚至有可能Sqlcmd吗?

当前代码:

Invoke-Sqlcmd -ServerInstance SERVER -h -1 -Query $QueryFmt | Export-CSV $AttachmentPath
4

3 回答 3

7

此代码应该可以工作:

Invoke-Sqlcmd -ServerInstance "" -Database "" -Query "" | ConvertTo-Csv -NoTypeInformation -Delimiter "," | Select-Object -Skip 1 | % {$_ -replace '"', ""} | Out-File ("C:\test.csv") -Force -Encoding ascii

Invoke-Sqlcmd产生:

PersonalNr       
---    
00001005  
00001001  
00001006  
00001007  
00001008 

使用Export-Csv,文件如下所示:

#TYPE System.Data.DataRow
"PersonalNr"
"00001005"
"00001001"
"00001006"
"00001007"
"00001008"

使用我上面提到的代码,我得到的文件如下所示:

00001005
00001001
00001006
00001007
00001008
于 2017-03-27T13:50:51.513 回答
0

试试这个:

## You data for export to csv
$csv = Invoke-Sqlcmd -ServerInstance SERVER  -Query $QueryFmt
# 

##Will remove type information  and will remove header
$csv | Export-CSV -NoTypeInformation | select -Skip 1 | Set-Content $AttachmentPath 
#
于 2017-03-27T14:02:37.203 回答
0

试试这个,

$查询结果 | 格式表 -AutoSize -Wrap -HideTableHeaders

于 2019-03-13T12:49:11.593 回答