今回は「if文」を用いたエラーメッセージの表示とエラー内容を別ファイルに出力させる
バッチについて紹介します。
今回は
if 文字列A==文字列B (真コマンド) echo (偽コマンド)
の構文を利用して2つの文字列の比較を行い、結果が「真」の場合・「偽」の場合の処理を
考えていきます。
・testAとtestBを比較し、同じ(結果が真)の場合、「error.txt」を作成し、そこに処理日付と正常メッセージを出力させる。
・testAとtestCを比較し、異なる場合(結果が偽)の場合、処理日付とエラーメッセージ、エラーの原因である項目(ここではtestAとtestCの内容)を「error.txt」に出力する。
@echo off
set testA=こんにちは
set testB=こんにちは
set testB=おはようございます
set time=%TIME:~0,8%
set now=%DATE% %time%
前提条件条件として、比較項目であるtestA testB testCの定義を
します。
次に、画面に表示する際や「error.txt」に出力する際の日時を定義します。
時間は hh:mm:ssという形で表示させます。
日付は%DATE%と上記で設定した%time%を並べて表示させる設定とします。
まずは、「testA」「testB」の比較処理について説明いたします。
if %testA%==%testB% (
echo %now% >>C:\Users\thiruma\Desktop\test2\error.txt
echo testAとtestBの比較の結果、処理は正常に行われました >>C:\Users\thiruma\Desktop\test2\error.txt
「testA」「testB」の比較の結果、内容が同じだった場合、「error.txt」に「処理日付」と「testAとtestBの比較の結果、処理は正常に行われました」という正常メッセージを出力させます。
) else (
echo %now% >>C:\Users\thiruma\Desktop\test2\error.txt
echo testAとtestBは違う中身です。
echo testAとtestBは違う中身です。 >>C:\Users\thiruma\Desktop\test2\error.txt
echo testA=%testA% >>C:\Users\thiruma\Desktop\test2\error.txt
echo testB=%testB% >>C:\Users\thiruma\Desktop\test2\error.txt
)
また、「testA」と「testB」の比較結果が異なる場合、エラーメッセージを表示しつつ、同様のメッセージを処理日付、エラーの原因を表示します。(ここでは「testA」と「testB」の内容)
※「testA」と「testB」の内容は同様であることから、この処理は行われません。
続いて、「testA」と「testC」の比較処理について説明します。
if %testA%==%testC% (
echo %now% >>C:\Users\thiruma\Desktop\test2\error.txt
echo testAとtestCの比較の結果、処理は正常に行われました。 >>C:\Users\thiruma\Desktop\test2\error.txt
「testA」「testC」の比較の結果、内容が同じだった場合、「error.txt」に「処理日付」と「testAとtestCの比較の結果、処理は正常に行われました」という正常メッセージを出力させます。
※「testA」と「testC」の内容は同様であることから、この処理は行われません。
) else (
echo %now% >>C:\Users\thiruma\Desktop\test2\error.txt
echo testAとtestCは中身が異なります。
echo testAとtestCは中身が異なります。>>C:\Users\thiruma\Desktop\test2\error.txt
echo testA=%testA% >>C:\Users\thiruma\Desktop\test2\error.txt
echo testC=%testC% >>C:\Users\thiruma\Desktop\test2\error.txt
)
また、「testA」と「testC」の比較結果が異なる場合、エラーメッセージを表示しつつ、同様のメッセージを処理日付、エラーの原因を表示します。(ここでは「testA」と「testC」の内容)
上記を踏まえ、バッチを作成し起動させたいと思います。
コマンドプロンプト上では、「testA」と「testC」の比較結果、内容が異なると判断されエラーが表示されました。
また、「test2」配下に「error.txt」が作成され、内容も
「」[]
「」
「testA」「testB」の内容を比較した結果、正常だった場合のメッセージと処理日時
「testA」「testC」の内容を比較した結果、異常だった場合のメッセージと処理日時、エラーの内容
を表示させることを確認できました。
今回はエラーメッセージを発生させ、テキストに出力するバッチについて紹介しました。
ご覧いただき、ありがとうございました。