C#批量重命名文件代码的实现
网站设计的时候.很多前台美工用PHOTOSHOP导出的图片名字是批量有规律的比如"百度.PSD"PHOTOSHOP源文件.在 PHOTOSHOP中导出所有切片文件为网页操作之后.自动会生成"百度_01.GIF,""百度_02.GIF,"...一直到"百度_99.GIF",按照一般的访问网站设计要求.尽量会要求所有的图片名称是英文字母的.所以要批量替换掉文件夹中的文件名中的"百度"两个字成为英文字母"BAIDU'的要求.
例如选择目录下有Main_11.gif,Main_12.gif,Main_13.gif...等等图片 批量更新成Index_11.gif,Index_12.gif,Index_13.gif...的文件名 TextBox1里输入Main_,TextBox2里输入Index_,点按钮后选择目录,完成批量更新文件名
下面是代码
//添加文件操作空间引用 using System.Text; using System.IO;
//按钮事件代码
//使用到的控件textBox1,textBox2,listBox1,button9直接从控件箱里拖过来
private void button9_Click(object sender, System.EventArgs e) { string strOldFileName; string strNewFileName; string strOldPart=this.textBox1.Text.Trim();//重命名文件前的文件名等待替换字符串 string strNewPart=this.textBox2.Text.Trim();//重命名文件后的文件名替换字符串 string strNewFilePath;
string strFileFolder; //原始图片目录
int TotalFiles=0; DateTime StartTime = DateTime.Now; //获取开始时间
FolderBrowserDialog f1=new FolderBrowserDialog(); //打开选择目录对话框 if(f1.ShowDialog()==DialogResult.OK) { strFileFolder=f1.SelectedPath; DirectoryInfo di = new DirectoryInfo(strFileFolder); FileInfo[] filelist = di.GetFiles("*.*"); int i=0; foreach (FileInfo fi in filelist) { strOldFileName=fi.Name; strNewFileName=fi.Name.Replace(strOldPart,strNewPart); strNewFilePath=@strFileFolder+"//"+strNewFileName; filelist[i].MoveTo(@strNewFilePath); TotalFiles+=1; this.listBox1.Items.Add("文件名:"+strOldFileName + "已重命名为"+strNewFileName); i+=1; } } DateTime EndTime = DateTime.Now ;//获取结束时间 TimeSpan ts = EndTime-StartTime ; this.listBox1.Items.Add("总耗时:"+ts.Hours.ToString() + "时"+ts.Minutes.ToString() + "分"+ts.Seconds.ToString() + "秒");
}