我想开发一个批处理脚本,它将执行批处理文件所在文件夹中存在的每个.sql SQL脚本,并将日志记录到filename_sqloutput.txt文件中。 条件是:如果任何脚本提供任何错误消息,如列名称不正确或表名等。脚本执行应立即停止,并且不应执行其他脚本。在目录中执行SQL脚本的批处理脚本
我试着用下面的代码:但它不工作,即使脚本在输出文件中给出错误。脚本执行不停止。
需要你的帮助!
@echo off
for /f %%a IN ('dir /b *.sql') do (call sqlcmd -S AMRVSP000000318 -i %%a -o"%%~na_sqloutput.txt"
findstr "Msg" %%~na_sqloutput.txt >nul & if %errorlevel% EQU 1 (exit) else (echo Successfully executed %%~na_sqloutput.txt)
)
pause
更改'FINDSTR “消息” %%〜na_sqloutput.txt> NUL&如果%ERRORLEVEL%EQU 1(出口) else(echo已成功执行%%〜na_sqloutput.txt)'by'findstr“Msg”%%〜na_sqloutput.txt> nul && exit || echo成功执行%%〜na_sqloutput.txt' – Aacini