【備忘録】[batch] dateの値をファイル名に利用
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%
)
Author And Source
この問題について(【備忘録】[batch] dateの値をファイル名に利用), 我々は、より多くの情報をここで見つけました https://qiita.com/n-nabe/items/1d5a007ffa0327db5aef著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .