DOSバッチコマンド 日時情報を出力ファイルにする

dos

 dosのバッチファイルで出力情報を日付情報にしたい場合の方法です。
DOSコマンドはちょっとした情報収集時、便利に使えます。
その時の収集日時をファイル名にすると、いつ情報収集したかわかるので、便利に使えます。

日付(dateコマンド)や時刻(timeコマンド)の環境変数の出力結果を加工しファイル名にします。
通常、日付、時刻の環境変数を出力すると以下の様になります。

出力結果 2021/05/19 や 14:40:36.04 ですが、ファイル名に ”/” や ”:” は使用できないので
以下の様な、使用可能文字だけのファイル名にしたいと思います。
ファイル名 【20210519_144036】

1.出力結果を新しい環境変数に設定する
  set DT=%date%
  set TM=%time%

2.上記環境変数から、必要な文字を抽出する(日付)
  文字の抽出には、「:~」(コロンとチルダ)を使用します
  2021/05/19 先頭から前4文字の出力 %DT:~0,4% → 2021
  2021/05/19 6文字目から2文字の出力 %DT:~5,2% → 05
  2021/05/19 9文字目から2文字の出力 %DT:~8,2% → 19

上記の様に開始位置の先頭(1文字目)は、0から数えます。

3.上記環境変数から、必要な文字を抽出する(時刻)
  2021/05/19 先頭から前2文字の出力 %TM:~0,2% → 14
  2021/05/19 4文字目から2文字の出力 %TM:~3,2% → 40

時刻の場合、午前中時、最初の1文字目は空白が出力されます。
その為、空白を0に変換してあげる必要があります。
  set TM=%time: =0%  空白文字を0に変換

4.上記2.3からバッチファイルをまとめた結果出力が以下となります。

5.DOSのバッチファイルで出力ファイル名に上記4のファイル名を設定すれば完了です。
  サンプルはIPCONFIGの情報を出力するバッチファイルです。



タイトルとURLをコピーしました