zoukankan      html  css  js  c++  java
  • 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,4in ('.jpg'and filenames 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
  • 相关阅读:
    复合文档(Compound Document)读写栗子
    JavaScript修改IE注册表
    mysql_real_connect 端口号说明
    _beginthreadex创建线程,立即执行?
    Access 是/否 字段
    JavaScript格式化日期输出
    STM32-串行SPI nor
    全球唯一标识符:GUID在线生成
    如何交叉编译Python到ARM-Linux平台(转)
    CMOS Sensor的调试经验分享(转)
  • 原文地址:https://www.cnblogs.com/tohen/p/2116984.html
Copyright © 2011-2022 走看看