前言

有些时候,我们下载了一些听书的MP3文件,或者是一些美剧、网剧,下载下来之后发现这些文件具有一定的规律,比如下图。但是有些时候我们需要修改这些文件的文件名,一个一个文件重命名是非常反人类的,我们不需要重复造轮子。如果只是单纯地从文件名里替换掉一些字符,比如替换:【庆余年网剧高清】01 里面的“高清”为“HD”,变成 【庆余年网剧HD】01 ,这种方式的可以使用windows的powershell功能。
仙人指路:https://blog.csdn.net/u010295735/article/details/90054186

正文

由上图可以发现,这些音频文件前面都有编号,后面跟着下划线的字母,本人有些许强迫症,只想保留编号,即001_a文件重命名为1,031_be文件重命名为31,手动重命名机器麻烦,况且这部小说的音频文件有247个。于是我打算用C#进行批量重命名。
先创建一个Windows窗体应用类型的项目,项目名为:批量重命名文件(不推荐使用中文,我是为了图方便), 然后进行界面编辑,这个应用的界面很简单,用了一个标签控件,两个按钮控件。

“选择目录”按钮的变量名为:btnSelectFile
输入框的变量名为:textBox1
“批量修改”按钮的变量名为:btnAlter

后台代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;namespace 批量重命名文件
{public partial class UserControl1: UserControl{public UserControl1(){InitializeComponent();}/// <summary>/// 选择目录按钮响应事件/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnSelectFile_Click(object sender, EventArgs e){FolderBrowserDialog folder = new FolderBrowserDialog();if (folder.ShowDialog()==DialogResult.OK) {textBox1.Text = folder.SelectedPath;//获取目录的路径}}/// <summary>/// 批量修改按钮响应事件/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnAlter_Click(object sender, EventArgs e){DirectoryInfo directory = new DirectoryInfo(textBox1.Text);var Files = directory.GetFiles(); //获取文件列表try{//遍历文件列表foreach (var file in Files) {if (file.Name.Substring(0,1) == "0"){if (file.Name.Substring(1, 1) == "0"){var str = file.Name.Substring(2, 1);var hz = file.Extension;//获取文件的扩展名(后缀名)file.MoveTo(textBox1.Text + "\\" + str + hz);//重命名后的文件保存在原来的目录下}else {var str = file.Name.Substring(1, 2);var hz = file.Extension;//获取文件的扩展名(后缀名)file.MoveTo(textBox1.Text + "\\" + str + hz);//重命名后的文件保存在原来的目录下}}else {var str = file.Name.Substring(0,3);var hz = file.Extension;//获取文件的扩展名(后缀名)//修改文件名的方法。file.MoveTo(textBox1.Text + "\\" + str + hz);//重命名后的文件保存在原来的目录下}}MessageBox.Show("批量重命名成功!");}catch (Exception ex){MessageBox.Show(ex.Message);}}}
}

思路

根据这些文件名的规律以及我的需求,实现这个功能也不难,我们只需关注文件名前面3为字符即可,001改为1,031改为31,所以先获取文件名,然后截取文件名的第一位,判断是否为0,不为0证明文件名类似172_gp,我们只需把172后面的_gp去掉然后加上后缀再重命名保存在原位置即可。
第一位为0的话就继续判断第二位字符,不为0证明是031这种文件名,去掉031前面的0和后面多余的字符串进行重命名即可,为0证明是001这种,把001前面的00和后面多余的字符串去掉,然后重命名。
运行无错则提示批量修改成功。

运行



源码

大家可以根据自己的需求和网剧名字的规律对代码进行规则修改,用来实现自己想要的功能。
百度网盘:
链接: https://pan.baidu.com/s/1I21TtTKO4DF_AnZ8_GBcSQ 提取码: s4kx

C# 批量重命名文件相关推荐

  1. python下载文件并改名_第46p,8行代码,用Python批量重命名文件

    大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第46篇文章,第二阶段的课程:Python基础知识:小案例之用Python批量重命名文件. 学习本课程,建议先看一遍:[计算机基础知 ...

  2. 五种方法实现Linux批量重命名文件

    Linux批量重命名文件会涉及到改变一个字母.改变一些相连字母.改变某些位置的字母.在最前面加上某些字母.或者改变字母的大小写.完成这里五个方法基本上就会解决了Linux批量重命名的工作. 1.我想把 ...

  3. 使用Python按时间顺序批量重命名文件

    下面这段Python脚本能我们把一个文件夹下的所有文件,按最后修改的时间顺序,批量加序号前缀进行重命名: 注释比较详尽,就不多费口舌了,上代码: import os# 按修改时间排序后,批量重命名文件 ...

  4. Excel如何批量重命名文件

    今天跟大家分享一下如何利用Excel批量重命名文件 1.首先打开Excel软件 2.然后我们点击下图选项 3.依次点击[工作表],[重命名文件] 4.单击[选择文件],选择要处理的文件 5.然后在[新 ...

  5. 如何批量重命名文件?

    如何批量重命名文件?批量重命名文件就是同时修改大量文件的名称,有些人在工作中会产生大量的文件,所以有时候需要批量修改大量的文件名称.有的小伙伴不知道如何批量修改,就只能采用一个一个修改的方法,这种方法 ...

  6. linux 使用rename命令批量重命名文件

    linux 使用rename命令批量重命名文件 命令格式: Usage: rename [-v] [-n] [-f] perlexpr [filenames] 参数说明: v 显示文件重命名的细节 n ...

  7. 批量重命名文件中的照片

    通过下列代码,可实现批量重命名文件中的照片 代码如下: import os import string main_path = './photo_new' picturelist = os.listd ...

  8. 怎么批量重命名文件夹123456

    电脑里的文件夹越来越多,至少有上百个.针对同一个项目下的文件夹,我们在做整理归档的时候需要将文件夹批量重命名并排序为123456.比如:双12活动数据1.双12活动数据2等.这样我们在后期对整个项目的 ...

  9. java文件批量重命名文件,文件批量工具(File Attribute Changer)

    文件批量工具(File Attribute Changer)是一款对文件属性批量修改,以及对文件批量重命名的工具,所 谓的文件属性是指隐藏属性,在查看磁盘文件的名称时,系统一般不会显示具有隐藏属性的文 ...

  10. 批量重命名文件 - Renamer JAVA File

    批量重命名文件的小工具 Renamer是一个帮助您整理硬盘文件的小工具.这次的软件使用JAVA语言开发. Renamer的主要功能:               1.按照指定的规则重命名文件,如IMG ...

最新文章

  1. 【Jboss】热部署
  2. boost::multi_index模块相关的测试程序
  3. hdu 2048 神、上帝以及老天爷
  4. 我为什么会选择计算机专业之 《我的编程人生前传》
  5. 服务器端添加网站,服务器添加网站
  6. Open3d之计算点云凸包
  7. 消费者反映鸡蛋难吃后的37种回答方法
  8. TCP/IP源码分析
  9. BZOJ1854: [Scoi2010]游戏(二分图匹配)
  10. 鱼塘钓鱼(贪心算法)--算法设计
  11. IE地址栏前换成自己的图标
  12. IDEA环境下模块的右下角蓝色小方块缺失的解决方法,pom文件未识别
  13. 路由器的工作原理,形成,转发数据包的过程
  14. 腾讯邮箱 新浪邮箱 网易 免费企业邮箱 阿里云/万网域名MX解析配置
  15. 冯诺依曼结构计算机方案包含3个要点,冯诺依曼体系结构计算机的要点和工作过程.doc...
  16. css元素旋转原点,使用transform-origin属性改变元素变换原点
  17. 代码BUG之曲线救国
  18. 网络管理员资料 网络命令行的使用和范例
  19. 2020年河南科技大学892西方经济学考研真题题库等资料汇总
  20. #SORA#celery原生配置文件研究

热门文章

  1. _undo_autotune(关闭undo retention优化建议)
  2. java POI下载自定义EXCEL模板
  3. “新基建”呼唤数据中心“整合者”
  4. 那些年、那些人、那些事(iprouter迟到三年的JNCIP回忆录)
  5. 天天seo免费伪原创工具生成器
  6. UE 创建c++class报错Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0xffffffffff
  7. 数学公式语法(Mathjax语法)
  8. 工业设备数据采集调研要点
  9. python从零开始搭建fdtd架构-1原理
  10. SyntaxError: invalid syntax 诡异的错误