LoginSignup
2
0

More than 5 years have passed since last update.

【備忘録】[batch] dateの値をファイル名に利用

Last updated at Posted at 2019-02-26

dateコマンドについて

dateコマンドを利用してフォルダ名/ファイル名を作成するbatchを作成したことは誰しもあると思います。ぐぐればすぐ出てきますしね。
簡単に備忘録としてまとめてみます。

echo date

*********実行結果*********
2019/02/26

dateコマンドは当日の日付けをyyyy/mm/ddで返すコマンド。
ファイル名やディレクトリ名にするには、/を除く必要がある。
2通りの簡単な方法があったため、メモ。

1. %date:/=%

おそらくこれが一番シンプルで簡単な例

echo.bat
set yyyymmdd=%date:/=%
echo %yyyymmdd%

*********実行結果*********
20190226

「/=」で「/」を文字なしに変換している。
例えば、set yyyymmdd=%date:/=#%とすると、
実行結果は2019#02#26となる。

2. %date:~0,4%%date:~5,2%%date:~8,2%

1.と比較して多少ややこしいが、これはこれで応用が利きそう。

echo.bat
set yyyymmdd=%date:~0,4%%date:~5,2%%date:~8,2%
echo %yyyymmdd%

*********実行結果*********
20190226

「%変数:~x,y% 」変数のx文字目からy文字分を抽出。
x文字目は含まれないことがポイントかも。

実行例

よくあるテンプレートだが、一応。
日付フォルダの有無をチェックし、ない場合は作成するバッチ。

mkdir.bat
@echo off

rem - 日付フォルダの有無をチェックし、ない場合作成する

set yyyymmdd=%date:/=%
set base_path=C:\Users\####\Desktop

if not exist %base_path%\%yyyymmdd% (
    mkdir %base_path%\%yyyymmdd%
)


2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0