Invoke-sqlcmd вывод без "кавычек" и заголовков

Пример вывода:

#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

2 ответа

Решение

Этот код должен работать:

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

Try this,

$query_result | Format-Table -AutoSize -Wrap -HideTableHeaders

Попробуй это:

## 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 
#
Другие вопросы по тегам