文件改名的C#实现
2004-12-08 22:48
330 查看
其实很简单了,不过这里还是说一下,希望能给和我一样的C#新手带来帮助
背景:本人很爱看动画片和漫画,近日下载了火影忍者的漫画,结果目录中的图片文件命名方式是1,2,.....,10,....99,100,这样在acdsee中观看的顺序就是1,10,100....不是按照数字的顺序,看起来比较郁闷。故此就动手写一个批量文件改名的小程序,把文件名补齐为3位,按照001,002,...,009,010,...这样的顺序。
涉及到的知识: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;
}
背景:本人很爱看动画片和漫画,近日下载了火影忍者的漫画,结果目录中的图片文件命名方式是1,2,.....,10,....99,100,这样在acdsee中观看的顺序就是1,10,100....不是按照数字的顺序,看起来比较郁闷。故此就动手写一个批量文件改名的小程序,把文件名补齐为3位,按照001,002,...,009,010,...这样的顺序。
涉及到的知识: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;
}
相关文章推荐
- C#对称加密与非对称加密实例
- C#添加、读取Word脚注尾注的方法
- 谁来关心我们这些程序员
- 用Ole Automation实现Delphi和AutoCad之间的数据交换
- c#接简单数据库操作类
- Java测试规范(引用)
- duwamish7的感悟!
- Hibernate Tool & Files
- Java面试题目
- 一个非常不错的业务规则管理器
- delphi中的时间操作技术(2)
- 解析IP地址为主机域名
- 将某一主机域名解析为IP地址
- B/S结构系统
- 有关TrueDBGrid的问题向各位大虾请教
- 一个画图类,类似ms_chart的线图,适用于科学仿真数据分析(二)
- 一个画图类,类似ms_chart的线图,适用于科学仿真数据分析(一)
- 学ASP.NET学什么?
- Ant应用(1)
- Ant应用(2)