毎月のルーティンワークで締め日の翌月分の資料を保存するフォルダを作成している。
ワンクリックで作成できるバッチファイルを作成してみた。
作成するフォルダ名 「翌月分YYYYMM_今月締め切り日YYYYMMDD」
REM 毎月の締め日時点の翌月資料用フォルダ作成
REM 今月締め日以降~翌月締め日までの起動で翌々月分のフォルダ作成
cd /d %~dp0
REM 締め日 ##########################
set dd=20
echo off
set u=_
set n=0
REM 本日「DATE」から切り出した数字をそれぞれ変数に代入 YYYY/MM/DD →
set YYYYMMDD=%DATE:/=%
REM 日付テスト用 ############################################
REM set YYYYMMDD=20241121
set YYYYMM=%YYYYMMDD:~0,6%
set DAY=%YYYYMMDD:~6,2%
REM ddの翌日以降であれば翌月に設定
if %DAY% gtr %dd% set /a YYYYMM+=1
if %YYYYMM:~-2%==13 set /a YYYYMM+=100-12
set /a NEXTMONTH=YYYYMM+1
if %NEXTMONTH:~-2%==13 set /a NEXTMONTH+=100-12
REM/* 重複フォルダをカウント */
for /f "usebackq delims=" %%i in (`dir /a:d /b %NEXTMONTH%_%YYYYMM%%dd%*
`) do (
set /a n+=1
)
REM 重複フォルダ有無条件でフォルダ作成
if %n% == 0 (
REM 重複フォルダ無しで作成
mkdir "%NEXTMONTH%_%YYYYMM%%dd%"
) else (
REM 重複フォルダ有りで枝番を付けて作成
REM mkdir "%NEXTMONTH%_%YYYYMM%%dd%%u%%n%"
)