在SQL Server中可以使用系統內部存儲過程xp_fileexist判斷文件是否存在,如果存在再使用xp_cmdshell刪除文件。xp_fileexist除了可以判斷文件是否存在外,還可以判斷文件夾是否存在,下面是下使用這兩個的示例。
刪除文件存儲過程
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
調用存儲過程 exec MIS.dbo.delFile_P 'F:/Internet Explorer 6 綠色版/install.log'