はじめに
バッチファイルを使用して特定の日付形式(yyyymmdd)を取得する方法について解説する。この記事では、具体的なコード例を使用し、その各ステップについて詳細に説明する。
バッチファイルで日付を取得する方法
バッチファイルとは、Windowsのコマンドプロンプトで動作するスクリプトファイルのこと。
システム日付を取得して、特定のフォーマット(yyyymmddなど)に変換して処理に使用するプログラムは多岐にわたるだろう。プログラムによって書き方がそれぞれ異なるが、今回はバッチファイルでの日付表示を紹介する。
以下のコードは、バッチファイルを使用して現在日付から年、月、日を抽出し、「yyyymmdd」の形式で取得する方法を示している。
set year=%date:~0,4% set march=%date:~5,2% set day=%date:~8,2% echo "本日は%date%です" echo "本日は%year%%march%%day%です"
このコードの実行結果は以下のようになる。(実行した日が2024年8月8日である場合)
本日は2024/08/08です 本日は20240808です
コードの解説
set year=%date:~0,4%
%date%
は現在の日付を表す。~0,4
は部分文字列を抽出するための指定である。これは、最初の文字(0番目の位置)から始めて、4文字分を抽出する。- 結果として、
year
変数には年の部分(例えば2024
)がセットされる。
set march=%date:~5,2%
- 同様に、
%date%
から部分文字列を抽出する。 ~5,2
は5番目の位置から始めて、2文字分を抽出する。- 結果として、
march
変数には月の部分(例えば08
)がセットされる。
- 同様に、
set day=%date:~8,2%
- 再度、
%date%
から部分文字列を抽出する。 ~8,2
は8番目の位置から始めて、2文字分を抽出する。- 結果として、
day
変数には日の部分(例えば08
)がセットされる。
- 再度、
echo %year% %march% %day%
- これらの変数を使って年、月、日を表示する。
- 例えば、
2024 08 08
のように表示される。
また、上記のコードでは、システムの日付形式に依存している為、異なる日付形式(例えば MM/DD/YYYY
)を使用するシステムでは、部分文字列の抽出位置を修正する必要がある。