У меня есть следующая часть функции, которая сводит меня с ума. Как вы можете видеть, я генерирую путь и имя файла для массового копирования данных таблицы. Когда я запускаю это в сценарии PowerShell, я получаю следующее сообщение об ошибке:Скрипт PowerShell не выполняет команду bcp правильно
C:\Program Files\Microsoft SQL Server\100\Tools\Binn\bcp.exe: unknown option 1
usage: C:\Program Files\Microsoft SQL Server\100\Tools\Binn\bcp.exe
Однако, когда я скопировать строку вывода, я получаю от команды Write-хоста и вставить его в командной строке я могу выполнить это просто отлично , Что дает?
ForEach($table in $db.Tables | where {$_.IsSystemObject -eq $false})
{
$fullName = "$db.$table"
If($scriptTables -contains $fullName)
{
$fullFilePath = (pwd).path + "\$db.$table" + ".dat"
$copyExecString = "$db.$table out `"$fullFilePath`" -E -N -Sserver1\instance -Uxyz -Pxyz > Output.txt"
& bcp "$copyExecString" #Invoke-Expression "bcp $copyExecString"
Write-host "bcp $copyExecString"
}
}
Пример вывода:
bcp [DB].[dbo].[Table] out "C:\Development\ScriptDemoData\[DB].[dbo].[Table].dat" -E -N -Sserver1\instance -Uxyz -Pxyz > Output.txt
'" 'вызывают переменные, которые будут расширены' ' 'не я не верю, либо передается. на исполняемую функцию (они разделяются ОС) – Guvante