C# WinForm制作一個批量轉(zhuǎn)化文件格式的小工具
前言
在生活中有時候會遇到批量轉(zhuǎn)換格式的需求,一個個點太麻煩了,一個能夠?qū)崿F(xiàn)批量文件格式轉(zhuǎn)換的工具非常有用。我這次就遇到了需要批量轉(zhuǎn)換文件格式的需求,比如需要將doc文件轉(zhuǎn)換為docx文件。
為這個小工具設(shè)定了兩個基本功能,一個是選定一個文件夾后,將文件夾下的所有文件都轉(zhuǎn)換為指定文件,另一個是批量選擇文件將選中的文件轉(zhuǎn)換為指定格式。
全部轉(zhuǎn)換為指定格式的效果如下所示:
批量轉(zhuǎn)換為指定格式的效果如下所示:
具體實現(xiàn)
界面的設(shè)計如下所示:
為了方便演示,使用的是原生控件,就是1個label、1個textbox、3個button。
確定按鈕的代碼如下:
if(textBox1.Text != " " && textBox1.Text.StartsWith(".")) { requiredExtension = textBox1.Text; MessageBox.Show($"已將需要的后綴名設(shè)定為:{requiredExtension}"); } else { MessageBox.Show($"請設(shè)置正常的后綴名,以.開頭"); }
全部轉(zhuǎn)換按鈕的代碼如下:
if (requiredExtension != null) { // 創(chuàng)建一個FolderBrowserDialog對象 FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog(); ? // 設(shè)置對話框的標(biāo)題 folderBrowserDialog.Description = "選擇需要轉(zhuǎn)換格式的文件夾"; ? // 設(shè)置默認(rèn)的根文件夾,如果需要的話 // folderBrowserDialog.RootFolder = Environment.SpecialFolder.MyComputer; ? // 顯示文件夾選擇對話框 DialogResult result = folderBrowserDialog.ShowDialog(); ? if (result == DialogResult.OK) { selectedFolderPath = folderBrowserDialog.SelectedPath; MessageBox.Show($"您選中的文件夾路徑為:{selectedFolderPath}"); // 調(diào)用 GetFiles 方法獲取文件夾下的所有文件路徑 string[] files = Directory.GetFiles(selectedFolderPath); foreach (var file in files) { string fileExtension = Path.GetExtension(file); if (fileExtension != requiredExtension) { // 構(gòu)造新的文件路徑,替換原來的后綴名 string newFilePath = Path.ChangeExtension(file, requiredExtension); ? // 使用 File.Move 重命名文件 File.Move(file, newFilePath); ? } } MessageBox.Show($"轉(zhuǎn)換文件格式成功,本次轉(zhuǎn)化文件數(shù)為:{files.Length}"); } else { MessageBox.Show("您本次沒有選中文件夾?。?!"); } } else { MessageBox.Show("請先設(shè)定需要的后綴名?。?!"); }
批量轉(zhuǎn)換的代碼如下:
if (requiredExtension != null) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "All Files (*.*)|*.*"; openFileDialog.Multiselect = true; if (openFileDialog.ShowDialog() == DialogResult.OK) { // 獲取選中的文件路徑數(shù)組 string[] selectedFiles = openFileDialog.FileNames; foreach (var file in selectedFiles) { string fileExtension = Path.GetExtension(file); if (fileExtension != requiredExtension) { // 構(gòu)造新的文件路徑,替換原來的后綴名 string newFilePath = Path.ChangeExtension(file, requiredExtension); ? // 使用 File.Move 重命名文件 File.Move(file, newFilePath); ? } } MessageBox.Show($"轉(zhuǎn)換文件格式成功,本次轉(zhuǎn)化文件數(shù)為:{selectedFiles.Length}"); } else { MessageBox.Show("您本次沒有選中任何文件!??!"); } ? } else { MessageBox.Show("請先設(shè)定需要的后綴名?。?!"); }
最大的區(qū)別就是選中的是一個文件夾還是多個文件。
本示例全部源代碼如下:
public partial class Form1 : Form { string requiredExtension; string selectedFolderPath; public Form1() { InitializeComponent(); } ? private void label1_Click(object sender, EventArgs e) { ? } ? private void button3_Click(object sender, EventArgs e) { if(textBox1.Text != " " && textBox1.Text.StartsWith(".")) { requiredExtension = textBox1.Text; MessageBox.Show($"已將需要的后綴名設(shè)定為:{requiredExtension}"); } else { MessageBox.Show($"請設(shè)置正常的后綴名,以.開頭"); } } ? private void button1_Click(object sender, EventArgs e) { if (requiredExtension != null) { // 創(chuàng)建一個FolderBrowserDialog對象 FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog(); ? // 設(shè)置對話框的標(biāo)題 folderBrowserDialog.Description = "選擇需要轉(zhuǎn)換格式的文件夾"; ? // 設(shè)置默認(rèn)的根文件夾,如果需要的話 // folderBrowserDialog.RootFolder = Environment.SpecialFolder.MyComputer; ? // 顯示文件夾選擇對話框 DialogResult result = folderBrowserDialog.ShowDialog(); ? if (result == DialogResult.OK) { selectedFolderPath = folderBrowserDialog.SelectedPath; MessageBox.Show($"您選中的文件夾路徑為:{selectedFolderPath}"); // 調(diào)用 GetFiles 方法獲取文件夾下的所有文件路徑 string[] files = Directory.GetFiles(selectedFolderPath); foreach (var file in files) { string fileExtension = Path.GetExtension(file); if (fileExtension != requiredExtension) { // 構(gòu)造新的文件路徑,替換原來的后綴名 string newFilePath = Path.ChangeExtension(file, requiredExtension); ? // 使用 File.Move 重命名文件 File.Move(file, newFilePath); ? } } MessageBox.Show($"轉(zhuǎn)換文件格式成功,本次轉(zhuǎn)化文件數(shù)為:{files.Length}"); } else { MessageBox.Show("您本次沒有選中文件夾?。?!"); } } else { MessageBox.Show("請先設(shè)定需要的后綴名?。。?); } } ? private void button2_Click(object sender, EventArgs e) { if (requiredExtension != null) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "All Files (*.*)|*.*"; openFileDialog.Multiselect = true; if (openFileDialog.ShowDialog() == DialogResult.OK) { // 獲取選中的文件路徑數(shù)組 string[] selectedFiles = openFileDialog.FileNames; foreach (var file in selectedFiles) { string fileExtension = Path.GetExtension(file); if (fileExtension != requiredExtension) { // 構(gòu)造新的文件路徑,替換原來的后綴名 string newFilePath = Path.ChangeExtension(file, requiredExtension); ? // 使用 File.Move 重命名文件 File.Move(file, newFilePath); ? } } MessageBox.Show($"轉(zhuǎn)換文件格式成功,本次轉(zhuǎn)化文件數(shù)為:{selectedFiles.Length}"); } else { MessageBox.Show("您本次沒有選中任何文件?。?!"); } ? } else { MessageBox.Show("請先設(shè)定需要的后綴名?。?!"); } } } }
以上就是C# WinForm制作一個批量轉(zhuǎn)化文件格式的小工具的詳細(xì)內(nèi)容,更多關(guān)于C# WinForm文件格式工具的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C# TextBox多行文本框的字?jǐn)?shù)限制問題
最近在使用C# TextBox多行文本框的時候,發(fā)現(xiàn)了其對字?jǐn)?shù)限制的一點問題,所以總結(jié)下在使用C# TextBox多行文本框要注意的的字?jǐn)?shù)限制問題,現(xiàn)在分享給大家,有需要的朋友們可以參考借鑒,下面來一起看看吧。2016-12-12將ocx文件轉(zhuǎn)換成C#程序引用的DLL文件的辦法
將ocx文件轉(zhuǎn)換成C#程序引用的DLL文件的辦法,需要的朋友可以參考一下2013-03-03C#關(guān)聯(lián)自定義文件類型到應(yīng)用程序并實現(xiàn)自動導(dǎo)入功能
今天通過本文給大家分享C#關(guān)聯(lián)自定義文件類型到應(yīng)用程序并實現(xiàn)自動導(dǎo)入功能,代碼中寫入了兩個注冊表,實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-09-09C#實現(xiàn)泛型動態(tài)循環(huán)數(shù)組隊列的方法
隊列一種先進先出的數(shù)據(jù)結(jié)構(gòu),本文通過實例代碼給大家介紹下C#實現(xiàn)泛型動態(tài)循環(huán)數(shù)組隊列的方法,感興趣的朋友一起看看吧2022-01-01