更にそのファイルに、あらかじめ日付を入力しておく
こんなことを、手でやってたら、発狂します。
そこで、下のBATファイルを使うと、30年分くらいなら、2分くらいで完了します。
set /p Sy=開始年を :
set /p Ey=最終年を :
開始する年と最後の年を西暦4桁で入力します。set tuki=%%m
if %%m leq 9 set tuki=0%%m
月が1-9の場合、前に0を置いて桁を2桁にそろえる処理をします。
set day=%%e
if %%e leq 9 set day=0%%e
日が1-9の場合、前に0を置いて桁を2桁にそろえる処理をします。
for %%d in (1,3,5,7,8,10,12) do if %%m==%%d set Ld=31
for %%d in (4,6,9,11) do if %%m==%%d set Ld=30
if %%m==2 (
set /a Ymod=%%y%%Amari%
echo !Ymod!
if !Ymod!==0 set Ld=29
if !Ymod! geq 1 set Ld=28)
月が、
1,3,5,7,8,10,12 のとき、月の最終日を31日に設定月が、 4,6,9,11 のとき、月の最終日を30日に設定
月が、2のとき、うるう年でなければ月の最終日を28日、うるう年なら月の最終日を29日に設定
@echo off
setlocal enabledelayedexpansion
set /p Sy=開始年を :
set /p Ey=最終年を :
set Amari=4
for /l %%y in (%Sy%,1,%Ey%) do (
if not exist %%y md %%y
for /l %%m in (1,1,12) do (
set tuki=%%m
if %%m leq 9 set tuki=0%%m
if not exist %%y\!tuki! md %%y\!tuki!
for %%d in (1,3,5,7,8,10,12) do if %%m==%%d set Ld=31
for %%d in (4,6,9,11) do if %%m==%%d set Ld=30
if %%m==2 (
set /a Ymod=%%y%%Amari%
echo !Ymod!
if !Ymod!==0 set Ld=29
if !Ymod! geq 1 set Ld=28)
for /l %%e in (1,1,!Ld!) do (
set day=%%e
if %%e leq 9 set day=0%%e
if not exist %%y\!tuki!\!day!.txt (
copy nul %%y\!tuki!\!day!.txt
echo %%y年!tuki!月!day!日>>%%y\!tuki!\!day!.txt
)
)))
pause このバッチファイルの使い方:
1:上の太文字部分を全てコピーして、テキストファイル(メモ帳)に貼り付ける。
2:MakeMonthlyFolder.batとして保存する。
3:ディレクトリを作成したい場所に置く。*例えば、上の例で、My Documentsにディレクトリを生成したい場合は、My DocumentsにMakeMonthlyFolder.batを置く。
0 件のコメント:
コメントを投稿