Hi, here my little mod to make script working with italian date [gg/mm/aaaa] and a little mod about path:
if you put a backslash instead of full path, script assume localpath as mainpath (added help too)

Stefano

Code:
:: --------DELOLD.BAT----------
@echo off

::	test to see if first arg exists
SET ARGTEST=%1
IF NOT DEFINED ARGTEST GOTO SYNTAX

:: 	initialize variable to control whether or not a
::	recursive file search is done in the TARGETDIR
::
SET RECURSIVE=FALSE


::	check to see if recursive switch was passed
IF %1==/r (
	SET RECURSIVE=TRUE
	SHIFT
)

::	files older than this date will be deleted
SET OLDERTHAN=%1
IF NOT DEFINED OLDERTHAN GOTO SYNTAX

::	the directory containing files to be deleted
SET TARGETDIR=%~f2
SET TARGETDIR=%2
IF NOT DEFINED TARGETDIR GOTO SYNTAX

::	filter for files to delete
SET FILELIST=%3
IF NOT DEFINED FILELIST (
	SET FILELIST=*.*
)

::	make sure TARGETDIR ends with a '\' for consistency
IF %TARGETDIR:~0,1%==\ SET TARGETDIR=%cd%%TARGETDIR%
echo %TARGETDIR%
IF NOT %TARGETDIR:~-1%==\ SET TARGETDIR=%TARGETDIR%\

::	for testing
:: echo %RECURSIVE%
:: echo %OLDERTHAN%
:: echo %TARGETDIR%
:: echo %FILELIST%



REM SOLO X FORMATO DATA ITALIANA !!

set thedate=%DATE%
set dd=%thedate:~0,2%
set mm=%thedate:~3,2%
set yyyy=%thedate:~6,4%

:: 	initialize day and month of olderthan date current year is assumed
set /A dd=%dd% - %OLDERTHAN%
set /A mm=%mm% + 0


goto DAYTEST



:: +--------------------------------------------------------------------+
:: |	test day value to see if month and/or year need to be altered	|
:: +--------------------------------------------------------------------+
:DAYTEST

:: 	if olderthan date falls in current month
if /I %dd% GTR 0 goto DONE

:: 	adjust olderthan date to previous month and move to loop to id month
set /A mm=%mm% - 1
if /I %mm% GTR 0 goto ADJUSTDAY

:: 	changes an olderthan month of 0 to 12 and subtracts one from olderthan year
:: 	before forwarding to loop to id month
set /A mm=12
set /A yyyy=%yyyy% - 1

goto ADJUSTDAY



:: +------------------------------------------------------------------------------------+
:: |	id month and send to loop to adjust day value to account for month change	|
:: +------------------------------------------------------------------------------------+
:ADJUSTDAY
if %mm%==1 goto SET31
if %mm%==2 goto LEAPCHK
if %mm%==3 goto SET31
if %mm%==4 goto SET30
if %mm%==5 goto SET31
if %mm%==6 goto SET30
if %mm%==7 goto SET31
if %mm%==8 goto SET31
if %mm%==9 goto SET30
if %mm%==10 goto SET31
if %mm%==11 goto SET30
if %mm%==12 goto SET31

::	month value is out of range
goto ERROR


:: +****************************+
:: |	31 days in month	|
:: +****************************+
:SET31
set /A dd=31 + %dd%
goto DAYTEST


:: +****************************+
:: |	30 days in month	|
:: +****************************+
:SET30
set /A dd=30 + %dd%
goto DAYTEST


:: +****************************+
:: |	check for leap year	|
:: +****************************+
:LEAPCHK
set /A tt=%yyyy% %% 4
if not %tt%==0 goto SET28
set /A tt=%yyyy% %% 100
if not %tt%==0 goto SET29
set /A tt=%yyyy% %% 400
if %tt%==0 goto SET29
goto SET28


:: +****************************+
:: |	28 days in month	|
:: +****************************+
:SET28
set /A dd=28 + %dd%
goto DAYTEST


:: +****************************+
:: |	29 days in month	|
:: +****************************+
:SET29
set /A dd=29 + %dd%
goto DAYTEST



:: +************************************************************+
:: |	target olderthan date has been correctly identified.	|
:: |	finish formatting the date and find files to process.	|
:: +************************************************************+
:DONE

::	add leading zero if day or month value is less than 10
if /i %dd% LSS 10 set dd=0%dd%
if /i %mm% LSS 10 set mm=0%mm%


::	check for files in directory and process them.
:: 	"for /r" provides recursive search.
::
IF %RECURSIVE%==TRUE (
	for /r %TARGETDIR% %%i in (%FILELIST%) do (
	set FileName=%%i
	call :PROCESSFILE %%~ti
	)
) ELSE (
	for %%i in (%TARGETDIR%%FILELIST%) do (
	set FileName=%%i
	call :PROCESSFILE %%~ti
	)
)

goto FINISH



:: +************************************************************+
:: |	Parse file date and delete files which are older	|
:: |	than OLDERTHAN date					|
:: +************************************************************+
:PROCESSFILE

::	parse passed date string into month, day and year values
set temp=%1
set fyyyy=20%temp:~8,2%
set fmm=%temp:~0,2%
set fdd=%temp:~3,2%
if /I %fyyyy% GTR 2069 set fyyyy=19%temp:~6,2%

:: -||||||||||||||||||||||||||||||||||||||||||||||||||||-
:: +	This is where the files are deleted 	  	*
:: +	Change the ECHO command to DEL %FileName% 	*
:: +	to delete. ECHO is used for test.         	*
:: -||||||||||||||||||||||||||||||||||||||||||||||||||||-
	ECHO %yyyy%/%mm%/%dd% GEQ %fyyyy%/%fmm%/%fdd%

if /I %yyyy%/%mm%/%dd% GEQ %fyyyy%/%fmm%/%fdd% (
	ECHO The file %FileName% will be deleted
)

::	clear variables used
set temp=
set fyyyy=
set fmm=
set fdd=

goto EXIT



:: +************************************************************+
:: |	loop to address syntax errors when calling batch	|
:: +************************************************************+	
:SYNTAX
ECHO.
ECHO USAGE:
ECHO 	DELOLD /r X Y Z
ECHO.
ECHO	/r option provides a recursive file search
ECHO.
ECHO	X is the number of days previous to Today.
ECHO	Y is the directory to search
ECHO	Z is the a filter for files to search.  This argument is optional
ECHO	  and defaults to *.* (all files)
ECHO.
ECHO 	Examples: 
ECHO		"DELOLD 5 C:\temp" 		Deletes files older than 5 days
ECHO						  in C:\temp
ECHO		"DELOLD 5 \" 		Deletes files older than 5 days
ECHO						  in current dir
ECHO		"DELOLD 5 \pippo" 		Deletes files older than 5 days
ECHO						  in current dir\pippo
ECHO		"DELOLD /r 5 C:\temp"		Deletes files older than 5 days
ECHO						  in C:\temp and any of its 
ECHO						  subfolders
ECHO		"DELOLD 5 C:\temp *.txt"	Deletes text files older than 5 
ECHO						  days in C:\temp
ECHO.
ECHO.
GOTO FINISH



:: +************************************************************+
:: +	loop to address errors in batch logic.			|
:: +	currently only accessed when month for olderthan	|
:: +	date is out of the expected range.			|
:: +************************************************************+
:ERROR
ECHO.
ECHO !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
EcHO !	An error has occurred.  Stopping batch.		!
ECHO !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ECHO.
GOTO FINISH



:: +************************************+
:: |	clear variables used and exit	|
:: +************************************+
:FINISH
set mm=
set yyyy=
set dd=
set thedate=
set ARGTEST=
set RECURSIVE=
set OLDERTHAN=
set TARGETDIR=
set FILELIST=
set FileName=

goto EXIT



:EXIT


:: ----------END-DELOLD.BAT-------------