1. 程式人生 > >C# 多檔案重新命名思路及實現 上:步驟

C# 多檔案重新命名思路及實現 上:步驟

        之前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、按上述程式碼進行重新命名操作。

        下一篇根據一個具體較複雜的例子進行說明。