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#中方法的直接調(diào)用、反射調(diào)用與Lambda表達(dá)式調(diào)用對比
這篇文章主要介紹了C#中方法的直接調(diào)用、反射調(diào)用與Lambda表達(dá)式調(diào)用對比,本文著重講解了方法的三種調(diào)用方法以及它們的性能對比,需要的朋友可以參考下2015-06-06
詳解C#用new和override來實現(xiàn)抽象類的重寫區(qū)別
本篇文章主要介紹了詳解C#用new和override來實現(xiàn)抽象類的重寫區(qū)別,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧。2017-02-02

