batファイルですべてのコマンドのログを出力

ログの出力はすっごく大事

毎日、共有フォルダのバックアップをbatファイルを起動させて取得しているんですが、たまにbatファイルが起動していない時があり、原因がわからないことがあります

そんなときにログの出力はすっごい大事になってきますよ

ログの出力方法について

すべてのコマンドのログを出力する場合は、batファイルを2つ作成する必要があります

ここでは、【log.bat】と【bk.bat】の2つで解説します

すべてのコマンドのログを出力する場合は、このやり方がおすすめです♪

【log.bat】 について

【log.bat】の中身は以下の内容とする

set hensuu=%DATE:/=%

CAll C:\BK\bk.bat >> C:\BK\%hensuu%_log.txt

解説

《hensuu》に本日の日付(20211215)が格納されます

《CAll 》で【bk.bat】を呼びだす

《>>》でログを出力させます( >> は追加、 >は上書き)

《CAll C:\BK\bk.bat >> C:\BK\%hensuu%_log.txt 》で【bk.bat】を実行して、《20211215_log.txt》ファイルに 【bk.bat】 で実行したコマンドのすべてのログが出力されます

【bk.bat】 について

【bk.bat】の中身は以下の内容とする

set hensuu=%DATE:/=%

ping 192.168.11.10

mkdir C:\BK\%hensuu%

XCOPY “\\192.168.11.10\test” “C:\BK\%hensuu%” /d /e /h /r /y

解説

《hensuu》に本日の日付(20211215)が格納されます

《ping 192.168.11.10 》で通信の確認をします

《mkdir》本日の日付(20211215)のフォルダを作成します

《XCOPY “\\192.168.11.10\test” “C:\BK\%hensuu%” /d /e /h /r /y》で作成した本日の日付(20211215)のフォルダに《\\192.168.11.10\test》のファイルがすべてコピーされる

作成された【20211215_log.txt】について

こんな感じでログが出力されます

C:\bk>set hensuu=20211215

C:\bk>ping 192.168.11.10

192.168.11.10 に ping を送信しています 32 バイトのデータ:
192.168.11.10 からの応答: バイト数 =32 時間 <1ms TTL=128
192.168.11.10 からの応答: バイト数 =32 時間 <1ms TTL=128
192.168.11.10 からの応答: バイト数 =32 時間 <1ms TTL=128
192.168.11.10 からの応答: バイト数 =32 時間 <1ms TTL=128

192.168.11.10 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 0ms、最大 = 0ms、平均 = 0ms

C:\bk>mkdir C:\BK\20211215

C:\bk>XCOPY “\192.168.11.10\test” “C:\BK\20211215” /d /e /h /r /y
\192.168.11.10\test\aaa.txt
\192.168.11.10\test\vvvv.txt
2 個のファイルをコピーしました

解説

ポイントは《ping》です

今回は共有フォルダを定期的にバックアップする仕組みのログを出力させたかったので、《ping》で共有フォルダがあるパソコンと通信ができているかの確認の為、コマンドに《ping》を入れています

【TTL】がログに出力されていることが確認できるので、この場合は、問題なく通信ができていたとログからわかります。

共有フォルダにあった2個のファイルがコピーできたとログからわかります

まとめ

batファイルを日頃から使用していると、ログの出力が必要と感じることがあります。

出力されたログを見ただけで、エラーの原因を100%特定することはできませんが、何かしらのヒントになることはあります。

batファイルを作成したら、自分が想定していた動きをしているのかを確かめて、エビデンスとしてログも出力できるようにしておきましょう♪

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA