【バッチ・コマンド】今日の日付のフォルダ(YYYYMMDD)を自動で作成する

スポンサーリンク

今日の日付のフォルダ(YYYYMMDD)を自動で作成する

パソコンを使っていて、データのファイルを整理するときに用いるのがフォルダです。
より見やすくしたり、分類で分けたりするために新しいフォルダの作成は欠かせません。
以前の記事:<mkdir>コマンドで新しいフォルダ作成(新規フォルダ作成)しようでは、
mkdirコマンドを使って新しいフォルダの作成を行いました。

今回は新しいフォルダ作成の仕方について、さらに深堀していこうと思います。
例えばバックアップの為に、その日(今日の日付)のフォルダを新規作成してその中にデータファイルをコピーする人は多いと思います。

mkdirコマンドでは、作成するフォルダの名前を指定することができましたが、
フォルダの名前を今日の日付で指定して新規作成する方法を紹介します。
特によく設定するであろう西暦8桁(YYYYMMDD)のやり方もご紹介します。

今日の日付を取得する

今日の日付を取得するには「DATE」を使います。

%DATE%

これで「YYYY/MM/DD」のかたちで今日の日付が取得できます。
※環境設定によりますのでこの限りではありません

このままでは「/(スラッシュ)」が年月日の間に入っています。
フォルダの名前には「/(スラッシュ)」などの記号は使えません。
そこで数値だけで構成するように書式を整えていきます。
つまり西暦8桁のYYYYMMDDのかたちにしようと思います。

今日の日付をYYYYMMDDのかたちにしよう

今日の日付をYYYYMMDDの形にするためには、

%DATE:/=%

このように年月日の間の「/(スラッシュ)」を空白に置き換えましょう。
シンプルで分かり易いのがこの方法です。
「=」を用いて左辺にある「/」を右辺の空白に置き換えるようにしています。
「DATE」で今日の日付を出力すると「2018/03/09」となり、区切り文字の「/」を
空白に置き換えるので、結果として「20180309」(YYYYMMDDのかたち)が得られます。

今日の日付を応用してみよう

前述のコード例で、今日の日付をYYYYMMDDのかたちにすることができました。
また必要な文字だけを抽出するというやり方もあります。

%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%

何文字目から何文字目を抽出するという具合で、
それぞれDATEから年、月、日を抽出して結合しています。
「DATE」で「2018/03/09」と今日の日付が得られたら、
「:~0,4」の部分で0文字目(先頭)から4文字である「2018」を抽出しています。
続けざまに「%DATE:~5,2%」と指定していることで「03」、
さらに「%DATE:~8,2%」で「09」を取得しています。

このやり方のメリットは、年月のみにしたい場合に応用することが可能です。
西暦4桁と月2桁のYYYYMMのかたちにするようなやり方です。

%DATE:~0,4%%DATE:~5,2%

mkdirコマンドと組み合わせてみよう

実際にmkdirコマンドと組み合わせた例を記します。

set foldername=%DATE:/=%
mkdir %foldername%

「mkdir」でフォルダが作成できます。
「mkdir」のオプションとして、後ろにフォルダ名を指定するとその指定した名前でフォルダが作成できます。
今回ご説明している「%DATE:/=%」を一旦「foldername」という変数に格納して、「mkdir」のオプションで指定しています。
これで、自動で今日の日付を名前にしたフォルダを新規作成できます。

「TIME」を使って時間も組み合わせてみよう

さらに「TIME」で時刻を取得することも可能ですので
より詳細にフォルダの名前を指定したい場合はこちらも組み合わせましょう。
「TIME」では時刻を取得できますが、その場合の時間書式は「hh:mm:ss.ff」のかたちになります。
「.ff」は1秒未満の時間を表しています。
例えば「22時35分45秒93」のタイミングで実行した場合、「22:35:45.93」となります。
必要な文字列のみ(時間、分、秒のみ)を抽出してみましょう。

%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%

そうすることで「22時35分45秒93」であれば、
「hhmmss」(223545)のかたちで結果を得ることができます。

前述の日付と組み合わせて、「YYYYMMDDhhmmss」形式のフォルダ作成してみましょう。
コードは以下のとおりになります。

set foldername=%DATE:/=%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
mkdir %foldername%

「2018/03/09」の「22時35分45秒93」で実行した場合、「20180309223545」の名前のフォルダが作成できます。

まとめ

  • 今日の日付を取得するには「DATE」
  • 置き換えや文字列抽出で日付書式(YYYYMMDDなど)を整えよう
  • mkdirコマンドと組み合わせて自動化しよう

いかがでしたでしょうか?
今回は、コマンドで今日の日付のフォルダ(YYYYMMDD)を自動で作成する方法をご紹介しました。
ルーチン作業であれば手を動かす回数が減らせますし、ミスも防げます。
ぜひ今回ご紹介したやり方を試してみてはいかがでしょうか?

以上、「今日の日付のフォルダ(YYYYMMDD)を自動で作成する」でした。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする