C#對文件進(jìn)行批量重命名或者對某單個文件進(jìn)行改名的示例代碼
一、FolderBrowserDialog
FolderBrowserDialog是一個用于選擇文件夾的對話框控件,可以在windows Forms應(yīng)用程序中使用。使用它可以讓用戶選擇一個文件夾,并返回所選文件夾的路徑??梢酝ㄟ^設(shè)置一些屬性來自定義對話框的外觀和行為,例如RootFolder屬性可以設(shè)置對話框的根文件夾,SelectedPath屬性可以設(shè)置對話框的默認(rèn)選中路徑。
屬性介紹
1. (Name)
控件的對象標(biāo)識符ID
2. Description
文件夾的提示信息
3. RootFolder
打開文件夾瀏覽對話框時的根目錄
4. SelectedPath
文件夾瀏覽對話框選擇的絕對路徑
5. ShowNewFolderButton
在對話框中包含新建文件夾按鈕
二、OpenFileDialog
OpenFileDialog控件用于創(chuàng)建一個打開文件對話框,允許用戶選擇文件。OpenFileDialog提供了一種簡單的方式來讓用戶選擇一個或多個文件,并獲取用戶所選文件的路徑。
OpenFileDialog是打開文件對話框的意思,即在窗體設(shè)計中,如果需要打開本地文件,就需要用到該類。
屬性 說明
InitialDirectory 對話框的初始目錄
Filter 獲取或設(shè)置當(dāng)前文件名篩選器字符串,例如,“文本文件(.txt)|.txt|所有文件(.)||.”
FilterIndex 在對話框中選擇的文件篩選器的索引,如果選第一項(xiàng)就設(shè)為1
RestoreDirectory 控制對話框在關(guān)閉之前是否恢復(fù)當(dāng)前目錄
FileName: 第一個在對話框中顯示的文件或最后一個選取的文件
Title 將顯示在對話框標(biāo)題欄中的字符
AddExtension 是否自動添加默認(rèn)擴(kuò)展名
CheckPathExists 在對話框返回之前,檢查指定路徑是否存在
DefaultExt 默認(rèn)擴(kuò)展名
DereferenceLinks 在從對話框返回前是否取消引用快捷方式
三、Path
Path類位于System.IO命名空間中,它提供了靜態(tài)方法,用于處理文件和目錄路徑。這些方法可以用來解析、格式化和轉(zhuǎn)換文件和目錄路徑。由于Path類是靜態(tài)的,因此我們不需要創(chuàng)建它的實(shí)例就可以使用它的方法。
Path類的基本功能與重要特性:
Path類位于System.IO命名空間中,提供了靜態(tài)方法來處理文件和目錄路徑。這些方法可以用來解析、格式化和轉(zhuǎn)換文件和目錄路徑。以下是Path類的一些重要特性:
路徑解析:將相對路徑轉(zhuǎn)換為絕對路徑,或者提取路徑的某一部分,如文件名或擴(kuò)展名。
路徑組合:將兩個路徑片段組合成一個完整的路徑。
路徑根目錄獲?。韩@取指定路徑的根目錄部分。
跨平臺支持:Path類在不同的操作系統(tǒng)上表現(xiàn)一致,使得路徑操作在跨平臺應(yīng)用中變得簡單。
四、ui設(shè)計
說明:點(diǎn)擊上傳文件夾路徑的textbox1控件,將獲得的文件夾絕對路徑放到textbox1.text中,點(diǎn)擊上傳控件后,將獲取的路徑中的文件內(nèi)容顯示到textbox2控件.text中,在textbox3控件中輸入要修改的名稱,點(diǎn)擊“修改文件夾中的全部內(nèi)容”按鍵,既能對文件夾中的全部文件進(jìn)行重命名,并且在名稱后面加上數(shù)字編號。點(diǎn)擊textbox4控件,獲得要對某個單獨(dú)的文件進(jìn)行修改名稱的文件的絕對路徑,在textbox3中輸入要修改的名稱,點(diǎn)擊單獨(dú)修改某一個文件的按鈕,即能夠?qū)δ硞€文件進(jìn)行單獨(dú)修改名稱的操作。
| 控件名稱 | 作用 | 事件 | 作用 |
| textBox1 | 獲取要整體修改名稱的文件夾 | xuanze_click | 點(diǎn)擊控件,獲取選擇的文件夾的絕對路徑 |
| button1 | 上傳按鈕 | shang_click | 點(diǎn)擊一下將選擇的文件夾內(nèi)的文件顯示在textBox2中 |
| textBox3 | 獲取要修改的名稱 | xiu_click | 點(diǎn)擊一下,對文件夾中文件進(jìn)行全部修改 |
| textBox4 | 獲取要修改的文件的絕對路徑 | button3_Click | 點(diǎn)擊一下對單獨(dú)的某個文件名稱進(jìn)行修改 |

五、代碼部分
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 對文件進(jìn)行重命名
{
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#對文件進(jìn)行批量重命名或者對某單個文件進(jìn)行改名的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于C#文件重命名的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Graphics.DrawImage繪制的圖像變大的原因分析及解決
這篇文章主要介紹了Graphics.DrawImage繪制的圖像變大的原因分析及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11
c#高效率導(dǎo)出多維表頭excel的實(shí)例代碼
這篇文章介紹了c#高效率導(dǎo)出多維表頭excel的實(shí)例代碼,有需要的朋友可以參考一下2013-11-11
C# MeasureString測量字符串函數(shù)的使用方法
這篇文章主要介紹了C# MeasureString測量字符串函數(shù)的使用方法,需要的朋友可以參考下2014-10-10
C# winform程序?qū)崿F(xiàn)開機(jī)自啟動并且識別是開機(jī)啟動還是雙擊啟動
這篇文章主要介紹了C# winform程序?qū)崿F(xiàn)開機(jī)自啟動并且識別是開機(jī)啟動還是雙擊啟動的實(shí)現(xiàn)代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-10-10
Unity實(shí)現(xiàn)大轉(zhuǎn)盤的簡單筆記
這篇文章主要為大家分享了Unity實(shí)現(xiàn)大轉(zhuǎn)盤的簡單筆記,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-02-02
C#基于Socket套接字的網(wǎng)絡(luò)通信封裝
這篇文章主要為大家詳細(xì)介紹了C#基于Socket套接字的網(wǎng)絡(luò)通信封裝本文實(shí)例為大家分享了Java實(shí)現(xiàn)圖片旋轉(zhuǎn)的具體代碼,供大家參考,具體內(nèi)容如下2021-11-11
C#調(diào)用usb攝像頭的實(shí)現(xiàn)方法
這篇文章主要介紹了C#調(diào)用usb攝像頭的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02

