• 批量重命名 第六版


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

    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

  • 相关阅读:
    Assembly介绍
    How to be a Programmer
    (转) 展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告
    ClientScript.RegisterStartupScript()
    sql server日期时间转字符串
    GridView 全选
    C# 获取xml里的值
    web 点击按钮,根据点击确认进行下一步操作
    字符串宽相同
    FormClosing
  • 原文地址:https://www.cnblogs.com/hongmaju/p/3671018.html
Copyright © 2020-2023  润新知