mssql 对文件夹里面文件进行重命名,前面加上时间戳

alter proc sp_filerename ( @dirpath varchar(1024))
as 
declare   @dirsql varchar(4000),@sql varchar(4000)

set @dirsql= ' dir ' + @dirpath +' /b/a'
create table #tmp ( dirfile varchar(1024),mark char(1)  default 'N' ) 
insert #tmp
exec  xp_cmdshell @dirsql 
 
 declare c cursor for 
 select 'exec xp_cmdshell '' rename ' + @dirsql 
 + dirfile 
 + convert(varchar(8),GETDATE(),112) 
 + '_'
 + right('0'+cast(DATEPART(hour,getdate())as varchar),2)
  +right('0'+cast(DATEPART(minute,getdate())as varchar),2)
  +right('0'+cast(DATEPART(second,getdate())as varchar),2) 
  +'_'+ dirfile + ''''  
   from #tmp 
   where dirfile is not null 
  open c 
  fetch next from c into @sql 
  while @@FETCH_STATUS = 0 
  begin 
  exec(@sql);
    fetch next from c into @sql 
  end 
  close c 
  deallocate c
  drop table #tmp;
  
  
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值