文件改名的C#实现

其实很简单了,不过这里还是说一下,希望能给和我一样的C#新手带来帮助

背景:本人很爱看动画片和漫画,近日下载了火影忍者的漫画,结果目录中的图片文件命名方式是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 }
posted @ 2005-05-22 20:11  Dawnxu  阅读(1109)  评论(0编辑  收藏  举报