Windows向けのバッチファイルの中で現在の日付(年月日)と、現在の時刻(時/分/秒)を取得する方法を紹介します。
バッチファイルには現在の日付を取得する変数「date」が既に用意されています。バッチファイルで変数の中身を見るためには、変数を%で囲む必要があります。
単にコンソールに日付を表示するだけであれば、以下のように「%date%」をechoすることで実現することができます。
出力される結果は以下のようになりました。その日の日付が「西暦/月/日」の形式で出力されます。以下の例では2022年7月2日です。
同様に、バッチファイルには現在の時刻を取得する変数「time」が既に用意されています。同様に以下のコマンドでコンソールに時刻を表示してみます。
結果は以下の通りになりました。「時:分:秒.コンマ秒」という形式となります。以下の例では19時24分19.86秒です。
「時:分:秒.コンマ秒」の形式で出力されますが、コンマ秒の部分まで使うことは少ない上に、表記が見慣れない形なので分かりにくいように感じられます。
そこで、コンマ秒の部分を消去して「時:分:秒」と表示できるようにしてみます。
「%変数名:~開始位置,終了位置%」という構文を用いることで、変数の中の特定の部分だけを切り出すことができます。今回は開始位置を0文字目とし、前から8文字目まで出力したいため終了位置を8に設定しました。
実行すると、以下のようにコンマ秒の部分を消去できることがわかります。
バッチファイルで日時や時刻を扱う方法を紹介しました。
プログラム等から生成されるファイルのファイル名に時刻を付与して、いつそのファイルが出力されたか明確にするなど、日時や時刻を扱いたい場合には紹介した方法を試してみてください。