文件改名的实现

 

涉及到的知识:string的函数;File和Directory函数;Environment和一些界面类

核心代码如下:十分简单

    // 清空log
   this.listBoxLog.Items.Clear();
    // 获取当前路径下全部文件名
   String[] files = Directory.GetFiles(Environment.CurrentDirectory);
   foreach(String filename in files)
   {
    // 最后一个"\"
    int lastpath = filename.LastIndexOf("\\");
    // 最后一个"."
    int lastdot = filename.LastIndexOf(".");
    //  纯文件名字长度
    int length = lastdot-lastpath-1;
    //  文件目录字符串 xx\xx\xx\
    String beginpart = filename.Substring(0, lastpath+1);
    //   纯文件名字
    String namenoext = filename.Substring(lastpath+1, length);
    //   扩展名
    String ext = filename.Substring(lastdot);
   
    if(length < 3)
    {
     // 补齐为3位,组成新的文件名
     String namenew;
     if(length == 1)
      namenew = "00" + namenoext;
     else
      namenew = "0" + namenoext;
     String fullnewname = beginpart + namenew + ext;

     // 改名
     File.Move(filename, fullnewname);

     // log
     this.listBoxLog.Items.Add(namenoext + "--->" + namenew);
     this.listBoxLog.SelectedIndex = this.listBoxLog.Items.Count - 1;
    }

 

转载于:https://www.cnblogs.com/Godblessyou/archive/2010/07/16/1778997.html

名称:Rename文件和目录批量改名1.0程序&源代码 语言:C# 作者:Dragon 作者邮箱:w001162@sina.com 作者博客:http://blog.csdn.net/w001162 运行环境:.NET Framework 2.0 内容介绍:网上下载的一些连续剧的文件命名方式不太合自己的心意,而一个一个去改名又比较费时间,找了一下好像没有什么比较方便的工具,所以自己做了一个。 示例一:使用数字替换 替换模板=文件名前缀000 开始数字=1 修改前文件名 修改名文件名 TESTFILEA.avi 文件名前缀001.avi TESTFILEB.avi 文件名前缀002.avi TESTFILEC.avi 文件名前缀003.avi ※ 文件名前缀可以任意修改,000会根据开始数字的设定累加,000表示3位的数字,不足的情况会自动补0 示例二:使用正则表达式替换 正则表达式模板=^(.*)([0-9]+)[-\._]?(.*)(\.+?)(.*)$ 替换模板=$2.$3.$5 修改前文件名 修改名文件名 FILE1-SUBNAMEA.avi 1.SUBNAMEA.avi FILE2-SUBNAMEB.avi 2.SUBNAMEB.avi FILE3-SUBNAMEC.avi 3.SUBNAMEC.avi FILE4-SUBNAMED.avi 4.SUBNAMED.avi ※ ^(.*)([0-9]+)[-\._]?(.*)(\.+?)(.*)$匹配的意思是<任意非数字字符※1><数字※2><'-'、'.'、'_'中任意字符※3><任意字符※4><'.'字符※5><文件扩展名※6> ※ $2.$3.$5$匹配的意思是<文件编号($2)> + '.' + <分集名称($3)> + '.' + <文件扩展名($5)> ※1 一般为专辑或电视剧的名称,如果你想要在修改后的文件名中添加专辑名称的话可以用$1代替(如果原文件名中是以数字开头的话,这个条件自动忽略) ※2 文件的编号,可以用$2代替(不会自动补0,这个比较麻烦,请等待后续版本解决) ※3 分集的名称,可以用$3代替 ※4 区分文件名和扩展名的分集的名称,可以用$4代替,直接写'.'也可以 ※5 分集的名称,可以用$5代替,如果想改扩展名的话,可以在这里替换 注意事项:正则表达替换时有时会不尽如人意,可以先用预览功能看一下替换的结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值