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

 更新时间:2024年05月20日 09:20:32   作者: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#文件重命名的资料请关注脚本之家其它相关文章!

相关文章

  • C#实现分页组件的方法

    C#实现分页组件的方法

    这篇文章主要为大家详细介绍了C#实现分页组件的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • 在.net应用程序中运行其它EXE文件的方法

    在.net应用程序中运行其它EXE文件的方法

    这篇文章主要介绍了在.net应用程序中运行其它EXE文件的方法,涉及C#进程操作的相关技巧,需要的朋友可以参考下
    2015-05-05
  • C#中数组、ArrayList和List三者的区别详解

    C#中数组、ArrayList和List三者的区别详解

    这篇文章主要介绍了C#中数组、ArrayList和List三者的区别详解,对于三者之间的区别想要了解的可以进来了解一下。
    2016-12-12
  • C#制作简易的屏保

    C#制作简易的屏保

    这篇文章主要为大家详细介绍了C#制作简易的屏保的相关资料,C#如何制作屏保的过程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • C#中XmlTextWriter读写xml文件详细介绍

    C#中XmlTextWriter读写xml文件详细介绍

    .NET中包含了很多支持XML的类,这些类使得程序员使用XML编程就如同理解XML文件一样简单。在这篇文章中,我将给出这样的一个类的使用示例,这个类就是XmlTextWriter类
    2013-04-04
  • Unity3D运行报DllNotFoundException错误的解决方案

    Unity3D运行报DllNotFoundException错误的解决方案

    这篇文章主要介绍了Unity3D运行报DllNotFoundException错误的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • C#实现鼠标移动到曲线图上显示值的方法

    C#实现鼠标移动到曲线图上显示值的方法

    这篇文章主要介绍了C#实现鼠标移动到曲线图上显示值的方法,是C#的WinForm窗体程序设计中非常实用的技巧,需要的朋友可以参考下
    2014-10-10
  • C# 如何使用批处理启动Windows服务

    C# 如何使用批处理启动Windows服务

    这篇文章主要介绍了C#使用批处理启动Windows服务,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • winform多线程组件BackgroundWorker使用

    winform多线程组件BackgroundWorker使用

    这篇文章介绍了winform多线程组件BackgroundWorker的使用方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • C#中DataTable的创建与遍历实现

    C#中DataTable的创建与遍历实现

    这篇文章主要介绍了C#中DataTable的创建与遍历实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02

最新评论