xp_cmdshellc:\windows是否存在:set nocount on
declare @a int
EXEC @a=master..xp_cmdshell 'cd /d c:\windows',no_output
if @a=0
print 'exists!'
else
print 'not exists!'
declare @a int
EXEC @a=master..xp_cmdshell 'cd /d c:\windows',no_output
if @a=0
print 'exists!'
else
print 'not exists!'
----------------------------
只能判断T-SQL本生是否执行成功,T-sql执行的内容是否成功不好判断!
create table #message(msg varchar(8000))
go
insert #message
exec master..xp_cmdshell 'isql /S"远程服务器名" /U"sa" /P"密码" /q"exec master..xp_cmdshell ''md c:\test''"'
goif exists(select 1 from #message where msg like '%子目录或文件%已经存在%')
begin
raiserror('目录或文件已经存在!',16,1)
return
enddrop table #message
/*
测试结果:
第一次运行成功,第二次则失败!
*/