[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#應用程式。該應用程式會根據指定的檔名和一個序號來生成新的檔名,並確保不與現有的檔案名稱衝突。





avatar-img
67會員
120內容數
這裡將以輕鬆風格,深入探討程式設計的基礎和高級概念。從程式語言到演算法,我們將以易懂的方式解釋每個主題,讓你輕鬆掌握。無論你是初學者或有經驗者,都能在這裡找到適合你的內容。無論你的目標是成為專業開發者還是擴展知識,我們都會陪伴你一同成長!
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
程式輕鬆玩 的其他內容
當您需要使用 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 以及進行降冪排序。我們將使用一系列範例程式碼來說明這些概念。
你可能也想看
Google News 追蹤
Thumbnail
本文介紹瞭如何使用BAT腳本和CMD指令來自動執行檔案和空目錄的刪除作業。通過設定各種參數和指令,可以快速、有效地執行定期刪除作業,節省硬體空間並提升工作效率。
儲存庫 (Repository) 是檔案(File)的儲存區域。 在版本控制中,儲存庫是包含所有檔案的資料夾[1]。 每次改動檔案,你都可以選擇要不要儲存。 而那些有被處存的改動,就被稱為「提交 Commit」[2]。 而當一個儲存庫有多個開發者(Developer)在貢獻,
Thumbnail
工具功能 (1) 彈性任意查詢檔案,如對來源目錄設定,檔案修改日期 設定,檔名特定字串或副檔名設定後,自動查出明細,並可展開至各階子目錄處理     (2) 依查詢後結果,可產出 LIST ,提供查詢結果之確認,再依此對檔案作複 (3) 可對檔案作移動,複製至別處,刪除處理,使電腦可騰出硬碟空間
Thumbnail
本章講述了C#開發中的程序集,命名空間和 NuGet 包管理器。程序集是 .NET 應用的基礎,命名空間用於組織和預防命名衝突,而 NuGet 用於管理 .NET 的外部庫和依賴項。
Thumbnail
本章節的目的是讓讀者瞭解C#的物件導向特性,包括類別、繼承、多型、封裝等基本概念,以及介面、抽象類別、靜態類別等進階主題。此外,本章節也將介紹如何使用列舉、委派、Lambda表達式、泛型及反射,這些都是C#中常見的強大功能。
Thumbnail
內容涵蓋資料型別、型別轉換、自訂型別、元組型別、集合型別和字典型別等主題。文章首先詳述內建型別如bool、byte、char等的定義和使用,接著討論型別轉換,包括隱含轉換和明確轉換。之後文章介紹自訂型別的建立,以及元組、集合、陣列和字典型別的操作與例子。
Thumbnail
C#程式由一或多個檔案組成,包含命名空間、類別、結構、介面、列舉和委派等型別。Main方法是C#應用程式的進入點。在C#中,註解用於在程式碼中添加說明,有單行和多行兩種類型。變數的定義需要指定變數的類型和名稱,可以一次為多個變數賦值。
Thumbnail
C#是一種開源、跨平台、面向對象的編程語言,具有類型安全、泛型、模式匹配等特性。廣泛應用於桌面和Web應用程序、遊戲開發、移動應用、雲計算等領域。全球數十萬家公司像微軟、Unity Technologies、Stack Overflow等使用C#支持其業務。C#還提供豐富的進階學習資源和主題。
Thumbnail
在現代資訊爆炸的時代,我們每天都會產生大量的檔案。無論是工作、學習還是生活,檔案都扮演著重要的角色。然而,隨著檔案數量的不斷增加,我們也面臨著一個新的挑戰:如何有效地管理檔案。檔案命名是檔案管理的第一步。一個好的檔案命名規則可以幫助我們快速找到所需的檔案,提高工作效率。
Thumbnail
Select the datastore you want to RENAME\rename\Input a new name\done
Thumbnail
本文介紹瞭如何使用BAT腳本和CMD指令來自動執行檔案和空目錄的刪除作業。通過設定各種參數和指令,可以快速、有效地執行定期刪除作業,節省硬體空間並提升工作效率。
儲存庫 (Repository) 是檔案(File)的儲存區域。 在版本控制中,儲存庫是包含所有檔案的資料夾[1]。 每次改動檔案,你都可以選擇要不要儲存。 而那些有被處存的改動,就被稱為「提交 Commit」[2]。 而當一個儲存庫有多個開發者(Developer)在貢獻,
Thumbnail
工具功能 (1) 彈性任意查詢檔案,如對來源目錄設定,檔案修改日期 設定,檔名特定字串或副檔名設定後,自動查出明細,並可展開至各階子目錄處理     (2) 依查詢後結果,可產出 LIST ,提供查詢結果之確認,再依此對檔案作複 (3) 可對檔案作移動,複製至別處,刪除處理,使電腦可騰出硬碟空間
Thumbnail
本章講述了C#開發中的程序集,命名空間和 NuGet 包管理器。程序集是 .NET 應用的基礎,命名空間用於組織和預防命名衝突,而 NuGet 用於管理 .NET 的外部庫和依賴項。
Thumbnail
本章節的目的是讓讀者瞭解C#的物件導向特性,包括類別、繼承、多型、封裝等基本概念,以及介面、抽象類別、靜態類別等進階主題。此外,本章節也將介紹如何使用列舉、委派、Lambda表達式、泛型及反射,這些都是C#中常見的強大功能。
Thumbnail
內容涵蓋資料型別、型別轉換、自訂型別、元組型別、集合型別和字典型別等主題。文章首先詳述內建型別如bool、byte、char等的定義和使用,接著討論型別轉換,包括隱含轉換和明確轉換。之後文章介紹自訂型別的建立,以及元組、集合、陣列和字典型別的操作與例子。
Thumbnail
C#程式由一或多個檔案組成,包含命名空間、類別、結構、介面、列舉和委派等型別。Main方法是C#應用程式的進入點。在C#中,註解用於在程式碼中添加說明,有單行和多行兩種類型。變數的定義需要指定變數的類型和名稱,可以一次為多個變數賦值。
Thumbnail
C#是一種開源、跨平台、面向對象的編程語言,具有類型安全、泛型、模式匹配等特性。廣泛應用於桌面和Web應用程序、遊戲開發、移動應用、雲計算等領域。全球數十萬家公司像微軟、Unity Technologies、Stack Overflow等使用C#支持其業務。C#還提供豐富的進階學習資源和主題。
Thumbnail
在現代資訊爆炸的時代,我們每天都會產生大量的檔案。無論是工作、學習還是生活,檔案都扮演著重要的角色。然而,隨著檔案數量的不斷增加,我們也面臨著一個新的挑戰:如何有效地管理檔案。檔案命名是檔案管理的第一步。一個好的檔案命名規則可以幫助我們快速找到所需的檔案,提高工作效率。
Thumbnail
Select the datastore you want to RENAME\rename\Input a new name\done