C# 多檔案重新命名思路及實現 上:步驟
阿新 • • 發佈:2019-02-08
之前C#做的一個程式設計練習,涉及到多檔案重新命名,現把當時實現思路及大致實現記錄下方便日後查閱。效率可能不最優,僅供學習探討。
多檔案重新命名無非迴圈遍歷中對單檔案重新命名,倘若這些多檔案的命名規則都一樣(例如只是末尾Number遞增),確實還是比較簡單的。但當命名規則稍微複雜些的話,就需要中間加些分類處理了,這也是本次記錄的重點。
對於檔案重新命名,利用FileInfo物件的MoveTo() 方法即可實現,關鍵是MoveTo之前先得到將要重新命名的新檔名(newFileName)。
using System.IO; private string filePath; // 檔案路徑
List<string> fileNameList; // 存放重新命名前的檔名
List<string> fileNameListNew; // 存放重新命名後的檔名
// 變數的賦值及初始化此處省略了,參考時根據自身情況新增,別忘記
private void rename() { DirectoryInfo fileDirInfo = new DirectoryInfo(filePath); try { for (int i = 0; i < fileDirInfo.GetFiles().Length; i++) { FileInfo fileInfo = fileDirInfo.GetFiles()[i]; string newFileName = fileNameListNew[i]; fileInfo.MoveTo(Path.Combine(fileInfo.DirectoryName, newFileName)); } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
重新命名的話按上述程式碼即可,前提就是rename()之前先生成fileNameListNew[],整個步驟從前到後可以歸納為以下三步:
1、得到當前檔名fileName;(暫存到fileNameList[]中)
2、對fileName按要求進行處理得到目標檔名fileNameNew;(暫存到fileNameListNew[]中)
3、按上述程式碼進行重新命名操作。
下一篇根據一個具體較複雜的例子進行說明。