楼主,你的方法是正确的,我测试过的。
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已经存在
*/

解决方案 »

  1.   

    declare @re int
    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
      

  2.   

    declare @re intdeclare @filename varchar(10)
    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