我们有多个 sql 文件的文件夹。如何捕获特定文件的错误并记录该文件名。
我们正在使用以下脚本来执行 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 个文件,两个文件出错了,我们要记录错误和文件名。