【バッチファイル】連番付き本日日付フォルダを作成する

サンプル概要

・本日日付フォルダが存在しない場合
 →連番付き本日日付フォルダを作成する

・本日日付フォルダが存在する場合
 →連番をインクリメントした連番付き本日日付フォルダを作成する

サンプルプログラム

@echo off

REM '''''''''''''''''''''''
REM 定数設定
REM '''''''''''''''''''''''
REM 出力先フォルダ名を設定
set outputFolder=C:\Users\user\Desktop\output\

REM 本日日付
set todayYYYYMMDD=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%

REM tempファイル名
set tempFile=temp.txt

REM '''''''''''''''''''''''
REM 連番付きフォルダ作成
REM '''''''''''''''''''''''
REM 本日日付が含まれるフォルダの一覧をtempファイルへ出力
dir %outputFolder% /AD | find "%todayYYYYMMDD%" > %~dp0%tempFile%

REM tempファイルの行数を取得
set rowCount=0
for /f "delims=" %%a in (%~dp0%tempFile%) do (
	set /a rowCount+=1
)

REM 連番を算出
set /a num=rowCount+1

REM 連番付き本日日付フォルダを作成
mkdir %outputFolder%%todayYYYYMMDD%_%num%

echo フォルダ「%todayYYYYMMDD%_%num%」を作成しました

REM 後片付け(tempファイルを削除)
del %~dp0%tempFile%

pause

結果 ※本日日付フォルダが存在しない状態で実行

フォルダ「20200524_1」が作成される

結果 ※本日日付フォルダが存在する状態で実行

フォルダ「20200524_2」が作成される

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