У нас есть папка с несколькими sql-файлами. Как поймать ошибку с конкретным файлом и зарегистрировать это имя файла.Powershell: обработка ошибок sqlcmd с несколькими файлами
Мы используем следующий скрипт для выполнения sqlcmd.
$ServerName=$args[0]
$DatabaseName=$args[1]
$UserName=$args[2]
$Passcode=$args[3]
$FolderPath=$args[4]
$errorpath=$args[5]
foreach ($f in Get-ChildItem -path $FolderPath -Filter *.sql | sort-object) {
$fileCurrent = $f.fullname
try {
invoke-sqlcmd -ServerInstance $ServerName -Database $DatabaseName -U $UserName -P $Passcode -InputFile $f.fullname
}
catch {
$_ | Out-File $errorpath -Append
}
}
мы имеем 100 файлов в этой папке и два файла erroring, что мы хотим, чтобы войти ошибка и имя файла.
Я благодарю человека после добавления $ errorActionPreference = «Остановить» теперь его приближение к блоку catch –