バッチファイルが配置されているフォルダに存在する各.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(出口)の場合'findstr 'によってMsg" %%〜na_sqloutput.txt> nul && exit || else(エコーが成功しました%%〜na_sqloutput.txt)エコーが正常に実行されました%%〜na_sqloutput.txt' – Aacini