C#對文件進行批量重命名或者對某單個文件進行改名的示例代碼
一、FolderBrowserDialog
FolderBrowserDialog是一個用于選擇文件夾的對話框控件,可以在windows Forms應(yīng)用程序中使用。使用它可以讓用戶選擇一個文件夾,并返回所選文件夾的路徑??梢酝ㄟ^設(shè)置一些屬性來自定義對話框的外觀和行為,例如RootFolder屬性可以設(shè)置對話框的根文件夾,SelectedPath屬性可以設(shè)置對話框的默認選中路徑。
屬性介紹
1. (Name)
控件的對象標識符ID
2. Description
文件夾的提示信息
3. RootFolder
打開文件夾瀏覽對話框時的根目錄
4. SelectedPath
文件夾瀏覽對話框選擇的絕對路徑
5. ShowNewFolderButton
在對話框中包含新建文件夾按鈕
二、OpenFileDialog
OpenFileDialog控件用于創(chuàng)建一個打開文件對話框,允許用戶選擇文件。OpenFileDialog提供了一種簡單的方式來讓用戶選擇一個或多個文件,并獲取用戶所選文件的路徑。
OpenFileDialog是打開文件對話框的意思,即在窗體設(shè)計中,如果需要打開本地文件,就需要用到該類。
屬性 說明
InitialDirectory 對話框的初始目錄
Filter 獲取或設(shè)置當前文件名篩選器字符串,例如,“文本文件(.txt)|.txt|所有文件(.)||.”
FilterIndex 在對話框中選擇的文件篩選器的索引,如果選第一項就設(shè)為1
RestoreDirectory 控制對話框在關(guān)閉之前是否恢復(fù)當前目錄
FileName: 第一個在對話框中顯示的文件或最后一個選取的文件
Title 將顯示在對話框標題欄中的字符
AddExtension 是否自動添加默認擴展名
CheckPathExists 在對話框返回之前,檢查指定路徑是否存在
DefaultExt 默認擴展名
DereferenceLinks 在從對話框返回前是否取消引用快捷方式
三、Path
Path類位于System.IO命名空間中,它提供了靜態(tài)方法,用于處理文件和目錄路徑。這些方法可以用來解析、格式化和轉(zhuǎn)換文件和目錄路徑。由于Path類是靜態(tài)的,因此我們不需要創(chuàng)建它的實例就可以使用它的方法。
Path類的基本功能與重要特性:
Path類位于System.IO命名空間中,提供了靜態(tài)方法來處理文件和目錄路徑。這些方法可以用來解析、格式化和轉(zhuǎn)換文件和目錄路徑。以下是Path類的一些重要特性:
路徑解析:將相對路徑轉(zhuǎn)換為絕對路徑,或者提取路徑的某一部分,如文件名或擴展名。
路徑組合:將兩個路徑片段組合成一個完整的路徑。
路徑根目錄獲?。韩@取指定路徑的根目錄部分。
跨平臺支持:Path類在不同的操作系統(tǒng)上表現(xiàn)一致,使得路徑操作在跨平臺應(yīng)用中變得簡單。
四、ui設(shè)計
說明:點擊上傳文件夾路徑的textbox1控件,將獲得的文件夾絕對路徑放到textbox1.text中,點擊上傳控件后,將獲取的路徑中的文件內(nèi)容顯示到textbox2控件.text中,在textbox3控件中輸入要修改的名稱,點擊“修改文件夾中的全部內(nèi)容”按鍵,既能對文件夾中的全部文件進行重命名,并且在名稱后面加上數(shù)字編號。點擊textbox4控件,獲得要對某個單獨的文件進行修改名稱的文件的絕對路徑,在textbox3中輸入要修改的名稱,點擊單獨修改某一個文件的按鈕,即能夠?qū)δ硞€文件進行單獨修改名稱的操作。
控件名稱 | 作用 | 事件 | 作用 |
textBox1 | 獲取要整體修改名稱的文件夾 | xuanze_click | 點擊控件,獲取選擇的文件夾的絕對路徑 |
button1 | 上傳按鈕 | shang_click | 點擊一下將選擇的文件夾內(nèi)的文件顯示在textBox2中 |
textBox3 | 獲取要修改的名稱 | xiu_click | 點擊一下,對文件夾中文件進行全部修改 |
textBox4 | 獲取要修改的文件的絕對路徑 | button3_Click | 點擊一下對單獨的某個文件名稱進行修改 |
五、代碼部分
using System; using System.IO; using System.Collections.Generic; using System.Linq; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace 對文件進行重命名 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void xuanze_click(object sender, EventArgs e) { FolderBrowserDialog dilog = new FolderBrowserDialog(); string str = @"F:"; dilog.Description = "請選擇文件夾"; if (dilog.ShowDialog() == DialogResult.OK) { textBox1.Text = dilog.SelectedPath; } } private void shang_click(object sender, EventArgs e) { if(textBox1.Text=="") { MessageBox.Show("路徑不能為空"); } else { string path = textBox1.Text; DirectoryInfo root = new DirectoryInfo(path); FileInfo[] files = root.GetFiles(); List<FileInfo> listFiles = files.ToList(); for (int i = 0; i < listFiles.Count; i++) { //textBox2.AppendText(listFiles[i].FullName); //textBox2.AppendText("\r\n"); //textBox2.AppendText(Environment.NewLine); textBox2.AppendText(listFiles[i].Name); textBox2.AppendText("\r\n"); } } } private void xiu_click(object sender, EventArgs e) { if (textBox3.Text == "") { MessageBox.Show("修改內(nèi)容不能為空"); } else { string path = textBox1.Text; DirectoryInfo root = new DirectoryInfo(path); FileInfo[] files = root.GetFiles(); List<FileInfo> listFiles = files.ToList(); for (int i = 0; i < listFiles.Count; i++) { string srcFileName = listFiles[i].FullName; string destFileName = listFiles[i].Directory.FullName + "\\" + textBox3.Text + string.Format("({0})", i + 1) + listFiles[i].Extension; File.Move(srcFileName, destFileName); } MessageBox.Show("已經(jīng)完成了"); textBox2.Text = ""; OpenFileDialog Openfile = new OpenFileDialog(); Openfile.InitialDirectory = path; Openfile.ShowDialog(); } } private void xz1_click(object sender, EventArgs e) { OpenFileDialog Openfile = new OpenFileDialog(); string str = @"F:"; Openfile.InitialDirectory = str; Openfile.Title = "請選擇文件路徑"; if (Openfile.ShowDialog() == DialogResult.OK) { textBox4.Text = Openfile.FileName; } } private void button3_Click(object sender, EventArgs e) { if (textBox3.Text == "") { MessageBox.Show("修改內(nèi)容不能為空"); } else { string path = textBox4.Text; string srcFileName = path; string destFileName = Path.GetDirectoryName(path) + "\\" + textBox3.Text + Path.GetExtension(path); File.Move(srcFileName, destFileName); textBox4.Text = ""; textBox3.Text = ""; MessageBox.Show("已經(jīng)完成了"); } } private string aa() { OpenFileDialog Openfile = new OpenFileDialog(); string str = @"F:"; Openfile.InitialDirectory = str; Openfile.Title = "請選擇文件路徑"; if (Openfile.ShowDialog() == DialogResult.OK) { return Openfile.FileName; } else { return ""; } } private void textBox4_TextChanged(object sender, EventArgs e) { } } }
以上就是C#對文件進行批量重命名或者對某單個文件進行改名的示例代碼的詳細內(nèi)容,更多關(guān)于C#文件重命名的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Graphics.DrawImage繪制的圖像變大的原因分析及解決
這篇文章主要介紹了Graphics.DrawImage繪制的圖像變大的原因分析及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11C# MeasureString測量字符串函數(shù)的使用方法
這篇文章主要介紹了C# MeasureString測量字符串函數(shù)的使用方法,需要的朋友可以參考下2014-10-10C# winform程序?qū)崿F(xiàn)開機自啟動并且識別是開機啟動還是雙擊啟動
這篇文章主要介紹了C# winform程序?qū)崿F(xiàn)開機自啟動并且識別是開機啟動還是雙擊啟動的實現(xiàn)代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-10-10C#基于Socket套接字的網(wǎng)絡(luò)通信封裝
這篇文章主要為大家詳細介紹了C#基于Socket套接字的網(wǎng)絡(luò)通信封裝本文實例為大家分享了Java實現(xiàn)圖片旋轉(zhuǎn)的具體代碼,供大家參考,具體內(nèi)容如下2021-11-11