C#批量重新命名檔案程式碼的實現

iDotNetSpace發表於2009-07-03

網站設計的時候.很多前臺美工用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() + "秒");

  }

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-608290/,如需轉載,請註明出處,否則將追究法律責任。

相關文章