Loading [MathJax]/jax/output/HTML-CSS/config.js

Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

バッチ処理 (Batch Scripts)

バッチでログファイルを出力+ファイル名に日時間を付与する

投稿日:2020年11月6日 更新日:

<目次>

(1) バッチでログファイルを出力+ファイル名に日時間を付与する
 (1-1) 構文
 (1-2) サンプルプログラム
 (1-3) 簡単な操作手順動画

(1) バッチでログファイルを出力+ファイル名に日時間を付与する

バッチファイルでログを出力する際に、ログファイル名に日付と時刻を付与して出力するバッチプログラムをご紹介します。

(1-1) 構文

①ログファイル生成

  1. set LOG_PATH=[ログの出力パス(任意のパス)]
  2. set yyyyMMdd=%date:/=%
  3. set hhmmss=%time::=%
  4. set hhmmss=%hhmmss:~0,6%
  5. set logfile=%LOG_PATH%%yyyyMMdd%_%hhmmss%.log

(説明)
1行目で「LOG_PATH」という変数にログファイルの格納パスを指定しています。2行目~4行目はログファイルに付与するための日付(yyyymmdd形式)や時刻(hhmmss形式)を作成しています。この日付や時刻の取得行について、もし詳しく把握したい方は以下の記事も併せてご覧下さい。

②メッセージ出力
上記で作成したログファイル内にメッセージを出力するための記述です。

  1. echo %date:/=-% %time:.=,%0 %[メッセージ変数]% >> "%[ログファイルパス]%" 2>&1

(説明)
echoで日付(%date:/=-%)や時刻(%time:.=,%0)に加えて、「メッセージ変数」の値を出力しています。出力先は「>>」の後で指定している「ログファイルパス」に出力します。また最後の「2>&1」は標準エラー出力(2)を標準出力にリダイレクトします。
加えて「echo (中略) >> “[ログファイルパス]”%」で標準出力の結果をログファイルにリダイレクトしています。

目次にもどる

(1-2) サンプルプログラム

(サンプルプログラム)

  1. @echo off
  2. rem SETLOCAL ENABLEDELAYEDEXPANSION
  3.  
  4. rem ### ログファイルに出力する各種メッセージを定義(開始、処理中、終了)
  5. set Message_START=Logging task START.
  6. set Message_Processing=[何かの処理]が実行されました
  7. set Message_END=Logging task END.
  8.  
  9. rem ### ログファイルの生成パスを定義
  10. set LOG_PATH=C:\Temp2\
  11.  
  12. rem ### yyyyMMdd形式に日付を加工し、変数に代入
  13. set yyyyMMdd=%date:/=%
  14. set hhmmss=%time::=%
  15. rem ### hhmmss形式に日付を加工し、変数に代入
  16. set hhmmss=%hhmmss:~0,6%
  17. set logfile=%LOG_PATH%%yyyyMMdd%_%hhmmss%.log
  18.  
  19. rem ### 開始ログ出力
  20. echo %date:/=-% %time:.=,%0 %Message_START% >> "%logfile%" 2>&1
  21. rem ### 処理結果ログ出力
  22. echo 'Result of Process': %Message_Processing% >> "%logfile%" 2>&1
  23. rem ### 終了ログ出力
  24. echo %date:/=-% %time:.=,%0 %Message_END% >> "%logfile%" 2>&1
  25.  
  26. exit 0

(図121)

(図122)

(図123)操作動画(短編)
バッチ実行~ログファイルの出力部分を簡単な動画にしています。

目次にもどる

(1-3) 簡単な操作手順動画

バッチファイルを作り、上記のサンプルプログラムをコピーして、コマンドプロンプトで実行してログを確認するまでの一連の流れを簡単な動画にしています(※上記の動画の前後を足した版です)。

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-バッチ処理 (Batch Scripts)

執筆者:


comment

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

関連記事

Windowsのバッチで日付(yyyymmdd形式)や時刻(hhmmss形式)を取得する方法

<目次> (1) Windowsのバッチで日付(yyyymmdd形式)や時刻(hhmmss形式)を取得する方法  (1-1) バッチで日付を取得する  (1-2) バッチで日付を取得する(yyyymm …

バッチ処理をX秒間待たせる(停止させる)方法

<目次> (1) バッチ処理をX秒間待たせる(停止させる)方法  (1-1) 構文①  (1-2) 構文①サンプルプログラム  (1-3) 構文②  (1-4) 構文②サンプルプログラム (1) バッ …

バッチファイルでSQLServerに接続する方法~sqlcmdの各オプション挙動を実例で紹介~

<目次> (1) バッチファイルでSQLServerに接続する方法  (1-1) 構文  (1-2) オプションの説明  (1-3) 各オプションの挙動をサンプルで確認 (1) バッチファイルでSQL …

バッチ処理のパイプ「| の使い方が誤っています。」エラーの原因と対処について

<目次> (1) バッチ処理のパイプ「| の使い方が誤っています。」エラーの原因と対処について  (1-1) エラー概要  (1-2) エラー原因  (1-3) エラー対処 (1) バッチ処理のパイプ …

バッチから引数を与えてPowershellを実行する方法

<目次> (1) バッチからPowershellを実行する方法  (1-1) 構文①  (1-2) 構文② (2) バッチから引数を与えてPowershellを実行する方法  (2-1) 引数を表現す …

  • English (United States)
  • 日本語
S