All pastes #30619 Raw Edit

Miscellany

public text v1 · immutable
#30619 ·published 2005-11-23 16:46 UTC
rendered paste body
@echo off
setlocal enabledelayedexpansion

::Change these as necessary.  'Since' must be in the format yyyymmdd
set BaseDir=c:\
set Since=20050901

for /R %BaseDir% %%f in (*.*) do call :ProcessFile "%%f"

goto :Done
:ProcessFile
::Get filename and date/time
set Filename=%1
set FileDate=%~t1

::Get year, convert to 4-digit year
::  -WinXP format '08/02/2005 11:57 AM'
::  -Win2k format '09/01/05 11:06p'
::    -assume 2-digit years >=70 are 19xx, and <70 are 20xx
Set FileYear=%FileDate:~8,1%%
if "%FileYear%"==" " (
     set FileYear=%FileDate:~6,2%
     if !FileYear! GEQ 70 (
          set /a FileYear=!FileYear!+1900
     ) else (
          set /a FileYear=!FileYear!+2000
     )
) else (
     set FileYear=%FileDate:~6,4%
)

set FormatDate=%FileYear%%FileDate:~0,2%%FileDate:~3,2%
if "%FormatDate%" GEQ "%Since%" echo %Filename% change on %FileDate% 
::this eof indicates end of subroutine
goto :eof


:Done
echo This is done