Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What is going on with this article?
@n-nabe

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

More than 1 year has passed since last update.

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%
)


0
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
n-nabe
主に備忘録として使います。 参考になればと思います。 アップロードの回数を2020年から増やしていくことが目標。 主にLinux、SQL、AWSについての記事を投稿する予定。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
0
Help us understand the problem. What is going on with this article?