« コマンドラインヘルプの所在 | トップページ | 純正のtail.exeの入手先 »

2006年10月16日 (月)

バッチファイルで日付の簡易計算法

次のサンプルは最終更新日付が6箇月以前のものを表示します。

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET d=!DATE!
SET /A x=!d:~-10,4!*12*31+1!d:~-5,2!*31+1!d:~-2,2!
SET /A x=x-6*31
FOR %%0 IN ( * ) DO (
SET d=%%~t0
SET /A y=!d:~0,4!*12*31+1!d:~5,2!*31+1!d:~8,2!
IF !y! LSS !x! ECHO %%0
)

1年=12月
1月=31日
で単純に計算します。

月、日が0で始まると、8進数になるので、100を付けます。

« コマンドラインヘルプの所在 | トップページ | 純正のtail.exeの入手先 »