I'm using the following sp on SQL Server 2005:
create procedure [dbo].[get_file_info](
@file_name varchar(255)
,@file_date datetime output
,@file_size bigint output
) AS
BEGIN
declare @dir table(id int identity primary key, dl varchar(255))
declare @cmd_name varchar(255),@fdate datetime,@fsize bigint, @fn varchar(255)
set @fn=right(@file_name,charindex('\',reverse(@file_name))-1)
set @cmd_name='dir /-C '+@file_name
exec sp_configure 'show advanced options', 1;
reconfigure;
exec sp_configure 'xp_cmdshell',1;
reconfigure;
insert @dir
exec master..xp_cmdshell @cmd_name
exec sp_configure 'xp_cmdshell',0;
reconfigure;
exec sp_configure 'show advanced options', 0;
reconfigure;
select @file_date=cast(ltrim(left(dl,charindex(' ',dl))) as datetime)
,@file_size=cast(replace(substring(dl,charindex(' ',dl),255),@fn,'') as bigint)
from @dir where dl like '%'+@fn+'%'
end