【バッチ】日付+カレントディレクトリ名で格納ディレクトリを作成するバッチ

Linux・CLI・DevOpsカテゴリを表すパンダのイラスト Linux・CLI・DevOps

その日こなした担務(業務)、メールで受信したさまざまな資料等は日付ディレクトリ(yyyymmdd)で保存管理していたのだが、どうも日付だけがキーワードだと、後で資料を探すのが大変だった。なにか手軽にできる方法がないか、システム化できないかと考え思いついた方法(仕様)がこれ。

仕様

  • 担務単位で日付ディレクトリをつくる。
  • 上記の中に「日付+担務単位のキーワード(またはその逆)」でディレクトリを作成し管理する。

※利点としては、作成するディレクトリが”日付と担務単位のキーワード”を持つことでディレクトリ名がユニークになり(他とぶつからない)、のちのちディレクトリのマージを行っても分かりやすくなる点があげられます。

日付+カレントディレクトリ名で格納ディレクトリを作成するバッチ

「担務単位のキーワード」を「カレントディレクトリ名」として自動取得するバッチファイルのコードは以下の通りです。

@echo off
rem バッチの格納されているカレントディレクトリ名を取得
for %%I in (.) do set DIRNAME=%%~nI%%~xI

rem 今日の日付(yyyymmdd)を取得
for /f "tokens=1-3 delims=/ " %%I in ('date /t') do set TODAY=%%I%%J%%K

rem ディレクトリ作成(パターン1:日付_カレントディレクトリ名)
mkdir %TODAY%_%DIRNAME%

rem ディレクトリ作成(パターン2:カレントディレクトリ名_日付)
mkdir %DIRNAME%_%TODAY%

ディレクトリの作成パターンは二つ用意していますが、実用的なのはパターン1(日付_カレントディレクトリ名)になります。

制限事項

  • 制限事項1:C:\などのルートディレクトリでは、カレントディレクトリ名を正しく取得できません。
  • 制限事項2:サーバー上で使う場合、UNCパス(\\serverのようなパス)からは動作しないため、ネットワークドライブとして割り当てた上で使用してください。

この記事の更新履歴

この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。

2026年9月12日

  • 変更HTMLタグを用いた古い引用表記を通常の段落や見出し構造に変更しました。
  • 追加バッチスクリプトを適切なコードブロック形式に修正し、利用方法や注意事項を整理しました。

文書情報

記事タイトル
【バッチ】日付+カレントディレクトリ名で格納ディレクトリを作成するバッチ
作成日
更新日
Source URL
https://papanda925.com/?p=470

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました