ログファイルに「失敗」「エラー」などのキーワードを検索し、別のファイルに書き込むための条件を適用するバッチを作成しようとしています。ファイル内のキーワードを検索して条件を適用するWindowsバッチ
例:abc.log ... search.bat - abc.logに「Error」や「Failed」などの単語がある場合、ECHO「DATA LOAD FAILED」以外のECHO「DATA LOAD SUCCESS」これを試し
、for /F "delims=" %%a in ('findstr /I /c:"EPMAT" C:\Temp_logs\ExpDataload.log') do set ErrorCount=%%a
IF /I "%ErrorCount%" == "EPMAT-1:Command Failed to execute." (
SET Message="DATA LOAD FAILED"
) ELSE (
SET Message="DATA LOAD SUCCESS"
)
ECHO %Message%
しかし、%ERRORCOUNT%ではなく、キーワードの、行全体を記憶しています。だから私はさらにライン全体をチェックしようとしましたが、それでもFAILEDではなく常に "DATA LOAD SUCCESS"と表示されます。
IF条件に何か不足している可能性があります。
PowerShellスクリプトを使用しているので、ここでPowerShellにタグを付けましたか? –
申し訳ありませんが、今はWindowsのバッチソリューションのみを探しています。ありがとう。 – cec4111