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#中struct与class的区别详解

    C#中struct与class的区别详解

    本文主要介绍了C#中struct与class的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • C#怎样才能将XML文件导入SQL Server

    C#怎样才能将XML文件导入SQL Server

    怎样才能将XML文件导入SQL Server 2000,主要使用了接口以及简单工厂来实现将xml文件导入到sql数据库中,将XML文件导入SQL Server有若干种方法,这里提供其中的3种需要的朋友可以参考下
    2012-12-12
  • C#微信公众号开发之消息处理

    C#微信公众号开发之消息处理

    这篇文章介绍了C#微信公众号开发之消息处理,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • C#多线程学习之(三)生产者和消费者用法分析

    C#多线程学习之(三)生产者和消费者用法分析

    这篇文章主要介绍了C#多线程学习之生产者和消费者用法,实例分析了C#中线程冲突的原理与资源分配的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • C#实现文件上传与下载功能实例

    C#实现文件上传与下载功能实例

    本篇文章主要介绍了C#实现文件上传与下载,这里整理了详细的代码,有需要的小伙伴可以参考下。
    2016-12-12
  • c#解析jobject的数据结构

    c#解析jobject的数据结构

    这篇文章介绍了c#解析jobject数据结构的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • C#利用IDbCommand实现通用数据库脚本执行程序

    C#利用IDbCommand实现通用数据库脚本执行程序

    在.net 应用中,在数据库中执行脚本程序是经常用到的功能,如数据操作(新增、修改、删除等),执行一个存储过程等,本文将介绍如何通过利用IDbCommand 实现通用数据库脚本执行程序,感兴趣的朋友可以参考下
    2024-04-04
  • C#控制台程序实现开启、关闭SQLServer服务的代码分享

    C#控制台程序实现开启、关闭SQLServer服务的代码分享

    这篇文章主要介绍了C#控制台程序实现开启、关闭SQLServer服务的代码分享,需要的朋友可以参考下
    2014-05-05
  • C#使用NPOI读取excel转为DataSet

    C#使用NPOI读取excel转为DataSet

    这篇文章主要为大家详细介绍了C#使用NPOI读取excel转为DataSet,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • c#递归生成XML实例

    c#递归生成XML实例

    这篇文章主要介绍了c#递归生成XML的方法,以实例形式较为详细的介绍了C#的递归算法与XML操作技巧,非常具有实用价值,需要的朋友可以参考下
    2014-11-11

最新评论