批量重命名 第六版

一:批量重命名的前置知识

a,DirectoryInfo 类

公开用于创建、移动和枚举目录和子目录的实例方法。无法继承此类。

将 DirectoryInfo 类用于典型操作,如复制、移动、重命名、创建和删除目录。
如果打算多次重用某个对象,可考虑使用 DirectoryInfo 的实例方法,而不是 Directory 类的相应静态方法,因为并不总是
需要安全检查。

b,FileInfo

FileInfo.MoveTo将指定文件移到新位置,并提供指定新文件名的选项。

C#里面,重命名文件时,没有 rename 这个功能,使用的是FileInfo.MoveTo的方式,MoveTo 到原目录里一个新的名字,即实现了重命名

FileInfo.MoveTo:将指定文件移到新位置,并提供指定新文件名的选项,所以可以用来重命名文件(而不改变位
置);

DirectoryInfo.GetFiles():获取目录中(不包含子目录)的文件,返回类型为FileInfo[],支持通配符查找;

c,Conbobox.Selectedxxxx

d,Path.Combine

方法 —— 将2-4个字符串组合成一个路径

e,LastIndexOf

int g = tests.LastIndexOf("//", 5, tests.Length - 5);
表示从tests字符串的从左到右搜索"//",返回最后一
个"//"在字符串中的位置

二:相关截图

 ReNameFile0.0.6.zip,增加包含原有命名,去掉原有命名的前10位(如图的两次命名)和服务网站,修复因为第二次排序按照字符来命名的顺序错误,增加序号起始范围到20

三:相关代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace ReNameFile
{
    public partial class Rename : Form
    {
        public Rename()
        {
            InitializeComponent();
        }
        string path;
        int Autofix;
        /// <summary>
        /// 重命名事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_rename_Click(object sender, EventArgs e)
        {
            this.btn_rename.Visible = false;
            DirectoryInfo di = new DirectoryInfo(path);
            int idx = Convert.ToInt32(cb_moved.SelectedItem);
            string fix = tb_fixed.Text;
            foreach (FileInfo fi in di.GetFiles())//可以用 di.GetFiles("*.jpg") 只重名jpg文件
            {
                //在文件名后面加0
                string toFileName = this.tb_fixed.Text + idx.ToString();
                //执行重命名,真正的文件名由三部分组成,路径+文件名+文件类型(C:UsershmjDesktop批量重命名+1+.txt)
                fi.MoveTo(Path.Combine(fi.DirectoryName, toFileName + fi.Extension));

                idx++;
               
            }

            MessageBox.Show("已经全部重命名了");
        }
        /// <summary>
        /// 选择路径
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_path_Click(object sender, EventArgs e)
        {
            //打开文件,得到文件夹的路径
            if (openFileDialogSearch.ShowDialog() == DialogResult.OK)
            {
                path = openFileDialogSearch.FileName;  //记录打开的文件名
                //得到最后那个"\"的为主
                int i = path.LastIndexOf("\");
                //得到文件夹的路径
                path = path.Substring(0, i);
            }
            this.btn_rename.Visible = true;
           
        }
        /// <summary>
        /// 自动加载可变的开始数字
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Rename_Load(object sender, EventArgs e)
        {
            //加载可变的开始数字
            List<int> moved = new List<int>();

            for (int i = 0; i <= 9; i++)
            {
                moved.Add(i);
            }
            cb_moved.DataSource = moved;

            this.btn_rename.Visible = false;

            this.Text = "红马車专用批量命名";
            

        }
  
    }
    
}

四:程序功能介绍

实现功能:将文件夹内的所有文件以固定格式+数字进行命名,更新功能:将文件夹内的所有文件以固定格式+原有名来命名(用于原有名前有序号的情况)

     1,直接打开ReNameFile.exe程序,运行即可
     2,注意事项:
        a,先要选择你要执行的文件夹下第一个文件,作为命名是的第一个文件,如:XXX0.txt
        b,如果文件下存在和你命名的文件名相同,则不可以

五:程序下载

复制粘贴如下地址到浏览器的URL即可下载:(第一版)http://files.cnblogs.com/hongmaju/ReName.zip(已失效)

                    (第二版)http://files.cnblogs.com/hongmaju/Rename0.0.2.zip(已失效)

                    (第三版)http://files.cnblogs.com/hongmaju/Rename0.0.3.zip(已失效)

                    (第四版)http://files.cnblogs.com/hongmaju/ReNameFile0.0.4.zip(已失效)

                    (第五版)http://files.cnblogs.com/hongmaju/ReNameFile0.0.5.zip(已失效)

                    (第六版)http://files.cnblogs.com/hongmaju/ReNameFile0.0.6.zip(已失效)

                    (第七版)http://files.cnblogs.com/hongmaju/ReNameFile0.0.7.zip(已失效)

                    (第八版)http://files.cnblogs.com/hongmaju/ReNameFile0.0.8.zip(已失效)

                    (第九版)http://files.cnblogs.com/hongmaju/ReNameFile0.0.9.zip(已失效)

                    (第十版)http://files.cnblogs.com/hongmaju/ReNameFile0.1.0.zip(已失效)

                    (第十一版)http://files.cnblogs.com/hongmaju/ReNameFile0.1.1.zip

                    (正式版:正常下载)http://files.cnblogs.com/hongmaju/ReNameFilev1.0.zip

                      正式版文章地址:http://www.cnblogs.com/hongmaju/p/3677974.html

原文地址:https://www.cnblogs.com/hongmaju/p/3671018.html