楼主,你的方法是正确的,我测试过的。
declare @re int
declare @filename varchar(10)
set @filename='c:\cmd.txt'
exec master..xp_fileexist @filename,@re out
print @re
if @re=1
begin
print @filename+'已经存在'
exec master..xp_cmdshell 'del @filename'
end/*
测试结果
1
c:\cmd.txt已经存在
*/
declare @re int
declare @filename varchar(10)
set @filename='c:\cmd.txt'
exec master..xp_fileexist @filename,@re out
print @re
if @re=1
begin
print @filename+'已经存在'
exec master..xp_cmdshell 'del @filename'
end/*
测试结果
1
c:\cmd.txt已经存在
*/
declare @filename varchar(10)
set @filename='x:\备份文件名'
exec master..xp_fileexist @filename,@re out
print @re
if @re=1
begin
print @filename+'已经存在'
exec ('master..xp_cmdshell''del '+@filename+''',no_output')
end
set @filename='x:\备份文件名'
exec @re=master..xp_fileexist @filename,@re out
print @re
if @re=1
begin
print @filename+'已经存在'
exec ('master..xp_cmdshell''del '+@filename+''',no_output')
end