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
#