[C#] 批次更改資料夾中的檔案名稱

閱讀時間約 4 分鐘


當我們需要在C#中批次更改資料夾中的檔案名稱時,我們可以使用一個自定義的C#類別。這個類別會讓我們指定資料夾路徑和新的檔名,然後它會遍歷資料夾中的檔案,為每個檔案生成一個新的名稱,新名稱由指定的檔名加上一個序號組成。

建立一個C#類別

首先,我們需要建立一個C#類別,我們可以將其稱為FileRenamer。這個類別將包含一個方法,用於批次更改資料夾中的檔案名稱。

csharpCopy code
using System;
using System.IO;

class FileRenamer
{
public static void RenameFiles(string folderPath, string baseFileName)
{
// 在這裡實現後續的邏輯
}
}

讀取指定的資料夾

RenameFiles方法中,我們首先要確保指定的資料夾存在。如果資料夾不存在,我們會顯示一個錯誤訊息。

csharpCopy code
if (!Directory.Exists(folderPath))
{
Console.WriteLine("指定的資料夾不存在。");
return;
}

遍歷檔案並更改名稱

接下來,我們使用Directory.GetFiles方法獲取資料夾中的所有檔案。然後,我們設定一個初始的序號fileCount,它將用於生成新的檔名。

csharpCopy code
string[] files = Directory.GetFiles(folderPath);
int fileCount = 1;

現在,我們遍歷這些檔案,為每個檔案生成新的名稱並重命名它。新的名稱由指定的檔名加上一個序號(使用三位數的格式)和檔案的原始擴展名組成。我們同時確保新的名稱不與現有的檔案名稱衝突。

csharpCopy code
foreach (string filePath in files)
{
string extension = Path.GetExtension(filePath);
string newFileName = $"{baseFileName}{fileCount:D3}{extension}";

string newFilePath = Path.Combine(folderPath, newFileName);

if (File.Exists(newFilePath))
{
Console.WriteLine($"檔案 {newFileName} 已存在。");
}
else
{
File.Move(filePath, newFilePath);
Console.WriteLine($"已更改檔案名稱:{Path.GetFileName(filePath)} -> {newFileName}");
}

fileCount++;
}

使用該類別

最後,我們可以使用這個類別來更改資料夾中的檔案名稱。我們只需提供資料夾路徑和新的檔名即可。

csharpCopy code
Console.WriteLine("請輸入資料夾路徑:");
string folderPath = Console.ReadLine();

Console.WriteLine("請輸入檔名(不包含序號和檔案副檔名,例如:file_):");
string baseFileName = Console.ReadLine();

FileRenamer.RenameFiles(folderPath, baseFileName);

Console.WriteLine("完成。")

這樣,我們就完成了一個能夠讀取指定資料夾,批次更改檔案名稱的C#應用程式。該應用程式會根據指定的檔名和一個序號來生成新的檔名,並確保不與現有的檔案名稱衝突。





57會員
116Content count
這裡將以輕鬆風格,深入探討程式設計的基礎和高級概念。從程式語言到演算法,我們將以易懂的方式解釋每個主題,讓你輕鬆掌握。無論你是初學者或有經驗者,都能在這裡找到適合你的內容。無論你的目標是成為專業開發者還是擴展知識,我們都會陪伴你一同成長!
留言0
查看全部
發表第一個留言支持創作者!
程式輕鬆玩 的其他內容
當您需要使用 C# 程式語言來遍歷指定資料夾並刪除指定副檔名的檔案時,這篇教學將引導您完成這個任務。這個程式將使用遞迴方法,以確保不僅刪除指定資料夾中的檔案,還將刪除其所有子資料夾中符合條件的檔案。
在 C# 的視窗應用程式開發中,有時候我們需要在子視窗中取得父視窗的參考,以實現不同視窗之間的資訊交換或操作。這篇教學將會示範如何使用 Owner 屬性來在子視窗中取得父視窗的參考,以及如何進行相關操作。
在這篇教學中,我們將會學習如何使用 C# 語言再設定的時間動作,模擬批次自動化功能。使用 System.Windows.Forms.Timer 來達到這個目的。同時,我們也將會示範如何取得目前時間的不同屬性,像是年份、日期、分鐘等。
在程式設計中,錯誤處理是一個不可或缺的部分。C#提供了強大的錯誤處理機制,讓我們能夠更有效地管理和處理程式執行中可能出現的問題。本篇文章將帶你深入了解如何在C#中捕捉與處理錯誤,確保你的程式在遇到問題時能夠優雅地回應。
在這份教學文章中,我們將一步步示範如何使用C#程式語言和ZXing套件生成一個不顯示資訊的CODE128條碼。這將有助於您在自己的應用程式中生成純條碼圖片,而無需顯示任何附加的文字資訊。
在 C# 中,List 是一個常見且實用的集合類型,可以儲存一組元素並進行各種操作。本篇教學將帶你深入了解如何操作 List 以及進行降冪排序。我們將使用一系列範例程式碼來說明這些概念。
當您需要使用 C# 程式語言來遍歷指定資料夾並刪除指定副檔名的檔案時,這篇教學將引導您完成這個任務。這個程式將使用遞迴方法,以確保不僅刪除指定資料夾中的檔案,還將刪除其所有子資料夾中符合條件的檔案。
在 C# 的視窗應用程式開發中,有時候我們需要在子視窗中取得父視窗的參考,以實現不同視窗之間的資訊交換或操作。這篇教學將會示範如何使用 Owner 屬性來在子視窗中取得父視窗的參考,以及如何進行相關操作。
在這篇教學中,我們將會學習如何使用 C# 語言再設定的時間動作,模擬批次自動化功能。使用 System.Windows.Forms.Timer 來達到這個目的。同時,我們也將會示範如何取得目前時間的不同屬性,像是年份、日期、分鐘等。
在程式設計中,錯誤處理是一個不可或缺的部分。C#提供了強大的錯誤處理機制,讓我們能夠更有效地管理和處理程式執行中可能出現的問題。本篇文章將帶你深入了解如何在C#中捕捉與處理錯誤,確保你的程式在遇到問題時能夠優雅地回應。
在這份教學文章中,我們將一步步示範如何使用C#程式語言和ZXing套件生成一個不顯示資訊的CODE128條碼。這將有助於您在自己的應用程式中生成純條碼圖片,而無需顯示任何附加的文字資訊。
在 C# 中,List 是一個常見且實用的集合類型,可以儲存一組元素並進行各種操作。本篇教學將帶你深入了解如何操作 List 以及進行降冪排序。我們將使用一系列範例程式碼來說明這些概念。
你可能也想看
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
自從C#8.0開始,許多樣板的專案檔(.csproj)中多了以下這個設定<Nullable>enable</Nullable> ,它讓你coding開始進入twilightzone(陰陽魔界),對一切reference type 的寫法都不一樣了。reference type本來就是nullable
程式寫久了對執行流程會總有些自以為是的邏輯,而這些自己為是的可能讓你產生難以找尋的Bug.比如說在任何地方return就是直接回到原呼叫端的流程,但是這個return在try block中可能不是想像中的那樣。 以下範例讓我們看看return之後程式跑到那去? // returnInTryBlo
Thumbnail
長期處於慢性肝炎的狀態下,還會增加罹患肝癌的風險,加速「肝炎→肝硬化→肝癌」(肝病三部曲)病程惡化。高嘉宏教授解釋,「C型肝炎病毒會持續破壞肝臟,一旦進入肝硬化,每一年約有3%-5%患者會產生肝癌。如果不能早期診斷,早期治療的話,患者的存活或生活品質都會受到很大的影響。」
Thumbnail
auto(自動)、register(暫存器)、static(靜態)、extern(外部),以作用範圍(scope)、存儲時期(life time)、連結(linkage)的不同作為區別。
Thumbnail
葡萄牙足球明星C羅(Cristiano Ronaldo)最近正值賽事空檔,他在假期中帶著女友喬姫娜(Georgina Rodriguez)出海旅行,昨晚他在IG上PO出一張在遊艇上的照片,C羅光著上身露出結實的冰塊腹肌,不到12小時就吸引900萬人按讚。
Thumbnail
2004年聖彼得堡一家電影院的影廳裡頭擠滿了等著《The Lord of the Rings: The Two Towers 魔戒二部曲:雙城奇謀》放映的俄羅斯觀眾。這個場次的不尋常之處除了票價是平常電影票的好幾倍之外,銀幕上的電影似乎不盡然是我們看過《魔戒二部曲:雙城奇謀》......
我離開的時候,其實流浪了一陣子,才到這間 我們並沒有說好一起走,和一起去 T哥是最早去的 是後來學長找我去B教會的特會,我感受到神對我說:「孩子,你該回家了!」那裡真的跟以前很不一樣 沒有人強迫你要做事,你自己決定 身心狀況不好,你的輔導會陪伴你並同理,直到你願意才會讓你持續參與活動。 沒有人逼我
Thumbnail
只要你肯聯繫我,我就願意再勇敢一次, 重道覆轍也沒關係, 就算你是陷阱、是無底深淵、是深不見底的大海, 只要是你,我願意跳下去, 願意沈溺於一片以你為名的深海。 我站在風口,整個世界都是你的氣息。 我將滿懷愛意的等待下個盛夏的風, 和遠方的你。 你知道 C-14 的半衰期有多久嗎? 它不及我在冥冥之
Thumbnail
可能包含敏感內容
如果你有關注台灣媒體,就會知道安心亞是全台首位公開穿C字褲的女藝人,那時才2009年,跟現在相比之下算是民風更為保守的年代,一方面真的很佩服她的勇氣,另一方面又會覺得:穿C字褲有什麼好處呢?其實C字褲並不是大眾印象中跟情色畫上等號的東西,反而像是丁字褲的升級版而已,都能拿來做隱藏痕跡使用。希望這篇文
Thumbnail
C世代(Connected Generation, 連接世代)是美容保養品-網購的主力──了解他們的特質,才能讓保養品網路行銷大賣... 隨著智慧裝置普及,全球「網路購物」市場高速增長(根據eMarketer統計:全球零售電子商務銷售額,2017年為1.357萬億美元,預估至2021年將達3.554
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
自從C#8.0開始,許多樣板的專案檔(.csproj)中多了以下這個設定<Nullable>enable</Nullable> ,它讓你coding開始進入twilightzone(陰陽魔界),對一切reference type 的寫法都不一樣了。reference type本來就是nullable
程式寫久了對執行流程會總有些自以為是的邏輯,而這些自己為是的可能讓你產生難以找尋的Bug.比如說在任何地方return就是直接回到原呼叫端的流程,但是這個return在try block中可能不是想像中的那樣。 以下範例讓我們看看return之後程式跑到那去? // returnInTryBlo
Thumbnail
長期處於慢性肝炎的狀態下,還會增加罹患肝癌的風險,加速「肝炎→肝硬化→肝癌」(肝病三部曲)病程惡化。高嘉宏教授解釋,「C型肝炎病毒會持續破壞肝臟,一旦進入肝硬化,每一年約有3%-5%患者會產生肝癌。如果不能早期診斷,早期治療的話,患者的存活或生活品質都會受到很大的影響。」
Thumbnail
auto(自動)、register(暫存器)、static(靜態)、extern(外部),以作用範圍(scope)、存儲時期(life time)、連結(linkage)的不同作為區別。
Thumbnail
葡萄牙足球明星C羅(Cristiano Ronaldo)最近正值賽事空檔,他在假期中帶著女友喬姫娜(Georgina Rodriguez)出海旅行,昨晚他在IG上PO出一張在遊艇上的照片,C羅光著上身露出結實的冰塊腹肌,不到12小時就吸引900萬人按讚。
Thumbnail
2004年聖彼得堡一家電影院的影廳裡頭擠滿了等著《The Lord of the Rings: The Two Towers 魔戒二部曲:雙城奇謀》放映的俄羅斯觀眾。這個場次的不尋常之處除了票價是平常電影票的好幾倍之外,銀幕上的電影似乎不盡然是我們看過《魔戒二部曲:雙城奇謀》......
我離開的時候,其實流浪了一陣子,才到這間 我們並沒有說好一起走,和一起去 T哥是最早去的 是後來學長找我去B教會的特會,我感受到神對我說:「孩子,你該回家了!」那裡真的跟以前很不一樣 沒有人強迫你要做事,你自己決定 身心狀況不好,你的輔導會陪伴你並同理,直到你願意才會讓你持續參與活動。 沒有人逼我
Thumbnail
只要你肯聯繫我,我就願意再勇敢一次, 重道覆轍也沒關係, 就算你是陷阱、是無底深淵、是深不見底的大海, 只要是你,我願意跳下去, 願意沈溺於一片以你為名的深海。 我站在風口,整個世界都是你的氣息。 我將滿懷愛意的等待下個盛夏的風, 和遠方的你。 你知道 C-14 的半衰期有多久嗎? 它不及我在冥冥之
Thumbnail
可能包含敏感內容
如果你有關注台灣媒體,就會知道安心亞是全台首位公開穿C字褲的女藝人,那時才2009年,跟現在相比之下算是民風更為保守的年代,一方面真的很佩服她的勇氣,另一方面又會覺得:穿C字褲有什麼好處呢?其實C字褲並不是大眾印象中跟情色畫上等號的東西,反而像是丁字褲的升級版而已,都能拿來做隱藏痕跡使用。希望這篇文
Thumbnail
C世代(Connected Generation, 連接世代)是美容保養品-網購的主力──了解他們的特質,才能讓保養品網路行銷大賣... 隨著智慧裝置普及,全球「網路購物」市場高速增長(根據eMarketer統計:全球零售電子商務銷售額,2017年為1.357萬億美元,預估至2021年將達3.554