C#教程

关注公众号 jb51net

关闭
首页 > 软件编程 > C#教程 > C#文件重命名

C#对文件进行批量重命名或者对某单个文件进行改名的示例代码

作者:CE贝多芬

这篇文章主要介绍了C#对文件进行批量重命名或者对某个单独的文件进行改名的实现方法,文中有相关的代码示例供大家参考,具有一定的参考价值,需要的朋友可以参考下

一、FolderBrowserDialog

FolderBrowserDialog是一个用于选择文件夹的对话框控件,可以在windows Forms应用程序中使用。使用它可以让用户选择一个文件夹,并返回所选文件夹的路径。可以通过设置一些属性来自定义对话框的外观和行为,例如RootFolder属性可以设置对话框的根文件夹,SelectedPath属性可以设置对话框的默认选中路径。

属性介绍

1. (Name)      

控件的对象标识符ID

2. Description

文件夹的提示信息

3. RootFolder

打开文件夹浏览对话框时的根目录

4. SelectedPath

文件夹浏览对话框选择的绝对路径

5. ShowNewFolderButton

在对话框中包含新建文件夹按钮

二、OpenFileDialog

OpenFileDialog控件用于创建一个打开文件对话框,允许用户选择文件。OpenFileDialog提供了一种简单的方式来让用户选择一个或多个文件,并获取用户所选文件的路径。

OpenFileDialog是打开文件对话框的意思,即在窗体设计中,如果需要打开本地文件,就需要用到该类。

属性                                    说明
InitialDirectory                  对话框的初始目录
Filter                       获取或设置当前文件名筛选器字符串,例如,“文本文件(.txt)|.txt|所有文件(.)||.”
FilterIndex                 在对话框中选择的文件筛选器的索引,如果选第一项就设为1
RestoreDirectory       控制对话框在关闭之前是否恢复当前目录
FileName:               第一个在对话框中显示的文件或最后一个选取的文件
Title                            将显示在对话框标题栏中的字符
AddExtension            是否自动添加默认扩展名
CheckPathExists       在对话框返回之前,检查指定路径是否存在
DefaultExt                  默认扩展名
DereferenceLinks      在从对话框返回前是否取消引用快捷方式

三、Path

Path类位于System.IO命名空间中,它提供了静态方法,用于处理文件和目录路径。这些方法可以用来解析、格式化和转换文件和目录路径。由于Path类是静态的,因此我们不需要创建它的实例就可以使用它的方法。

Path类的基本功能与重要特性:

Path类位于System.IO命名空间中,提供了静态方法来处理文件和目录路径。这些方法可以用来解析、格式化和转换文件和目录路径。以下是Path类的一些重要特性:

路径解析:将相对路径转换为绝对路径,或者提取路径的某一部分,如文件名或扩展名。
路径组合:将两个路径片段组合成一个完整的路径。
路径根目录获取:获取指定路径的根目录部分。
跨平台支持:Path类在不同的操作系统上表现一致,使得路径操作在跨平台应用中变得简单。

四、ui设计

说明:点击上传文件夹路径的textbox1控件,将获得的文件夹绝对路径放到textbox1.text中,点击上传控件后,将获取的路径中的文件内容显示到textbox2控件.text中,在textbox3控件中输入要修改的名称,点击“修改文件夹中的全部内容”按键,既能对文件夹中的全部文件进行重命名,并且在名称后面加上数字编号。点击textbox4控件,获得要对某个单独的文件进行修改名称的文件的绝对路径,在textbox3中输入要修改的名称,点击单独修改某一个文件的按钮,即能够对某个文件进行单独修改名称的操作。

控件名称作用事件作用
textBox1获取要整体修改名称的文件夹xuanze_click点击控件,获取选择的文件夹的绝对路径
button1上传按钮shang_click点击一下将选择的文件夹内的文件显示在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("修改内容不能为空");
            }
            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("已经完成了");
                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("修改内容不能为空");
            }
            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("已经完成了");
            }
        }           
 
        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#对文件进行批量重命名或者对某单个文件进行改名的示例代码的详细内容,更多关于C#文件重命名的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文