C#批量重命名文件代码的实现

来源:互联网 发布:生肖 不合 知乎 编辑:程序博客网 时间:2024/05/01 21:34

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() + "秒");

  }