近日下载了火影忍者的漫画,结果目录中的图片文件命名方式是1,2,.....,10,....99,100,这样在acdsee中观看的顺序就是1,10,100....不是按照数字的顺序,看起来比较郁闷。故此就动手写一个批量文件改名的小程序,把文件名补齐为3位,按照001,002,...,009,010,...这样的顺序。

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

核心代码如下:十分简单

  1.  // 清空log  
  2. this.listBoxLog.Items.Clear();  
  3.  // 获取当前路径下全部文件名  
  4. String[] files = Directory.GetFiles(Environment.CurrentDirectory);  
  5. foreach(String filename in files)  
  6. {  
  7.  // 最后一个"\"  
  8.  int lastpath = filename.LastIndexOf("\\");  
  9.  // 最后一个"."  
  10.  int lastdot = filename.LastIndexOf(".");  
  11.  //  纯文件名字长度  
  12.  int length = lastdot-lastpath-1;  
  13.  //  文件目录字符串 xx\xx\xx\  
  14.  String beginpart = filename.Substring(0, lastpath+1);  
  15.  //   纯文件名字  
  16.  String namenoext = filename.Substring(lastpath+1, length);  
  17.  //   扩展名  
  18.  String ext = filename.Substring(lastdot);  
  19.    
  20.  if(length < 3)  
  21.  {  
  22.   // 补齐为3位,组成新的文件名  
  23.   String namenew;  
  24.   if(length == 1)  
  25.    namenew = "00" + namenoext;  
  26.   else 
  27.    namenew = "0" + namenoext;  
  28.   String fullnewname = beginpart + namenew + ext;  
  29.  
  30.   // 改名  
  31.   File.Move(filename, fullnewname);  
  32.  
  33.   // log  
  34.   this.listBoxLog.Items.Add(namenoext + "--->" + namenew);  
  35.   this.listBoxLog.SelectedIndex = this.listBoxLog.Items.Count - 1;  
  36.  } 
此文章由 flyinweb 于 2010-11-24 18:00:32 编辑

本日志由 flyinweb 于 2009-06-19 23:50:04 发表,目前已经被浏览 4733 次,评论 0 次;

作者添加了以下标签: 文件改名C#

引用通告:http://www.517sou.net/Article/54/Trackback.ashx

评论订阅:http://www.517sou.net/Article/54/Feeds.ashx

评论列表

    暂时没有评论
(必填)
(必填,不会被公开)