zjba2

博客园 首页 新随笔 联系 订阅 管理

网站设计的时候.很多前台美工用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() + "秒");

  }

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xqf222/archive/2007/07/02/1675639.aspx

posted on 2009-07-03 14:56  猫猫  阅读(967)  评论(0编辑  收藏  举报