当我们需要重命名多个文件时,假如能够批量重命名文件,就能够大大提高工作效率。那么SQL Server数据库如何对文件进行批量重命名呢?本文我们通过一个代码示例来介绍这个过程,过程如下:
1. 新建自定义函数:从最后一个特定字符开始截取字符串
create function fn_GetLastCharIndex(@Chars varchar(1000),@Char varchar(10)) returns varchar(1000) begin declare @i int set @i=CharIndex(@Char,@Chars) while(@i>0) begin set @Chars=Substring(@Chars,@i+1,len(@Chars)) set @i=CharIndex(@Char,@Chars) end return @Chars end
2. 获取文件名列表
if exists(select * from tempdb..sysobjects where id=object_id('tempdb..#temp')) drop table #temp create table #temp(filenames varchar(1000)) Insert into #temp(filenames) Exec master..xp_cmdshell 'dir F:灌篮高手-全国大赛全彩版'
3. 重命名
declare @FileName varchar(1000), @NewFileName varchar(1000), @s varchar(1000) declare cur_1 cursor for select dbo.fn_GetLastCharIndex(filenames,' ') FileName from #temp where Right(filenames,4) in ('.jpg') and filename s like '%slamdunk%' order by 1 open cur_1 fetch cur_1 into @FileName while(@@fetch_status=0) begin set @NewFileName = Replace(@FileName,dbo.fn_GetLastCharIndex(@FileName,'-'),Right('00'+dbo.fn_GetLastCharIndex(@FileName,'-'),7)) set @s='ren F:灌篮高手-全国大赛全彩版' + @FileName + ' ' + @NewFileName Exec master..xp_cmdshell @s,no_output fetch cur_1 into @FileName end deallocate cur_1
上述了代码就描述了SQL Server数据库对文件的批量重命名的过程,希望能够带给您一些收获。本文就介绍到这里,谢谢大家的浏览!