写一个存储过程,判断一个文件夹是否存在?
我想写一个存储过程,往指定文件夹备份,文件夹如果存在,就往指定文件夹里备份文件,不存在的话,新建一个文件夹!
------解决方案--------------------create table #Exists (文件 int, 目录 int, 父目录) 
 insert #Exists master.dbo.xp_fileexist  'C:\ABC\ ' 
 if (select 目录 from #Exists) = 1 
 print  '存在目录:C:\ABC ' 
 else 
 begin 
 print  '不存在目录:C:\ABC ' 
 exec master.dbo.xp_cmdshell  'md C:\ABC ' 
 end 
 drop table #Exists
------解决方案--------------------其实根本不用判断文件夹是否存在,直接调用创建:   
 exec master.dbo.xp_cmdshell  'md C:\ABC '   
 如果文件夹 C:\ABC 存在,执行结果是: 
 /* 
 output 
 子目录或文件 C:\ABC 已经存在。 
 NULL 
 */   
 如果文件夹 C:\ABC 存在,执行结果是: 
 /* 
 output 
 NULL 
 */     
 至于 DOS 命令 MD 成功与否,都不会在 SQL中 raiserror。   
 可以用 no_output 参数把执行结果屏蔽起来: 
 exec master.dbo.xp_cmdshell  'md C:\ABC ',no_output 
 重复执行 N 次,都是:命令已成功完成。
------解决方案--------------------最简单的方法 
 declare @n int;  
 exec @n=xp_cmdshell  'dir d:\ASD ',NO_OUTPUT 
 IF (@n=0) 
   PRINT  '存在 ' 
 else 
   print  '目录不存在 '