在SQL Server中取得操作系统文件的最后修改日期 [Z]

/*
  获取文件最后访问日期
  @filepath   文件路径,如:   c:\1.txt
  @filedate   文件最后访问日期

  调用示例:
  declare   @dt   varchar(20)
  exec   getFileLastAccessDate   'c:\1.txt',@dt   output
  select   @dt
*/
create   procedure   getFileLastAccessDate
  
@filepath   varchar(4000),
  
@filedate   varchar(20)   output
as
  
declare   @obj   int,@file   int
  
declare   @fileexists   varchar(10)
  
exec   sp_oacreate   'Scripting.FileSystemObject',@obj   output
  
exec   sp_oamethod   @obj,'FileExists',@fileexists   output,@filepath
  
if   @fileexists='False'
  
begin
    
set   @filedate='文件不存在'
    
return
  
end
  
exec   sp_oamethod   @obj,'GetFile',@file   output,@filepath
  
exec   sp_oagetproperty   @file,'DateLastAccessed',@filedate   output
go
/*
  获取文件最后修改日期
  @filepath   文件路径,如:   c:\1.txt
  @filedate   文件最后修改日期

  调用示例:
  declare   @dt   varchar(20)
  exec   getFileLastModified   'c:\1.txt',@dt   output
  select   @dt
*/
create procedure getFileLastModified
  
@filepath varchar(4000),
  
@filedate varchar(20) output
as
  
declare   @obj   int,@file   int
  
declare   @fileexists   varchar(10)
  
exec   sp_oacreate   'Scripting.FileSystemObject',@obj   output
  
exec   sp_oamethod   @obj,'FileExists',@fileexists   output,@filepath
  
if   @fileexists='False'
  
begin
    
set   @filedate='文件不存在'
    
return
  
end
  
exec   sp_oamethod   @obj,'GetFile',@file   output,@filepath
  
exec   sp_oagetproperty   @file,'DateLastModified',@filedate   output
go

posted on 2008-02-13 14:47  RobotTech  阅读(...)  评论(... 编辑 收藏

导航