SQL Server中的系统内部存储过程xp_fileexist,可以用来判断文件是否存在。
存储过程xp_cmdshell可以用来删除文件。
说明:xp_fileexist存储过程,即可判断文件是否存在,还可以判断文件夹是否存在。
二者结合,即可对文件先作是否存在的检测,找到之后再进行删除了。
这里举一个例子,供大家参考。
1,删除文件的存储过程
复制代码 代码示例:
ALTER proc [dbo].[delFile_P]
( @path nvarchar(200))
as
declare @result int
exec master.dbo.xp_fileexist @path,@result out --路径可以有空格
if @result = 1 --1存在该文件,0不存在
begin
--如果路径有空格,在执行cmdshell前必须替换空格字符,用双引号括住
set @path = 'del ' + replace(@path,' ','" "')
exec master.dbo.xp_cmdshell @path
end
2,调用存储过程
复制代码 代码示例:
exec MIS.dbo.delFile_P 'F:/jb200.com/install.log'