c#开发:批量修改文件名称

公司有编辑部同事要求写个小程序,能把几百张图片按照一定的规则命名。根据要求,写了一个小程序。这里的规则是死的,没有考虑很多种要求。

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 批量修改文件名称
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        //实例化文件夹选择对话框
        FolderBrowserDialog fb = new FolderBrowserDialog();
        private void btnSelect_Click(object sender, EventArgs e)
        {
            //选择路径
            if (fb.ShowDialog() == DialogResult.OK)
            {

                txtFolder.Text = fb.SelectedPath.ToString();
                txtFolder.ForeColor = Color.Black;
            }
        }
        //定义路径
        string sDir;
        //定义文件夹下文件数组
        string[] sFiles;
        //定义新文件名末尾编号
        int num;
        private void btnRename_Click(object sender, EventArgs e)
        {

            sDir=txtFolder.Text;
            //活的文件夹下所有文件
            try
            {
                //在此捕获错误,防止用户输入错误的路径。
                sFiles = System.IO.Directory.GetFiles(sDir);
            }
            catch
            {
                MessageBox.Show("路径不对,请重新选择!");
                txtFolder.Select();
                return;
            }
            num = Convert.ToInt32(txtNum.Text);
            //重命名文件
            for(int i=0;i<sFiles.Length;i++)
            {
                //获取原文件扩展名
                string ext = sFiles[i].Substring(sFiles[i].LastIndexOf(‘.‘));
                //重命名文件
                File.Move(sFiles[i],sDir+ "\\" +txtName.Text+num+ext);
                //输出文件到列表
                lbOutput.Items.Add(sDir + "\\" + txtName.Text + num+ ext);
                //刷新列表框
                lbOutput.Update();
                num++;
            }
        }
        //事件,只允许用于输入数字
        private void txtNum_KeyPress(object sender, KeyPressEventArgs e)
        {

            txtNum.ForeColor = Color.Black;
            if (e.KeyChar < ‘0‘ || e.KeyChar > ‘9‘)
            {
                e.Handled = true;
                MessageBox.Show("这里只能输入数字");
            }

            if (e.KeyChar == 46)
            {
                if (txtNum.Text.IndexOf(".") == -1)
                {
                    if (txtNum.SelectionStart > 0)
                    {
                        e.Handled = false;
                    }
                }
            }
            if (e.KeyChar == 8)
            {
                e.Handled = false;
            }
        }
        private void txtName_KeyPress(object sender, KeyPressEventArgs e)
        {

            //当用户在文本框中输入内容时,输入内容颜色是黑色.因为默认颜色是灰色.其中默认文字是提醒文字.以下类同.
            txtName.ForeColor = Color.Black;
        }

        private void txtFolder_KeyPress(object sender, KeyPressEventArgs e)
        {

            txtFolder.ForeColor = Color.Black;
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            //程序初始化时,默认选择该按钮
            btnSelect.Select();

        }
        private void txtFolder_MouseClick(object sender, MouseEventArgs e)
        {
            //档鼠标点击该控件时,进行判断,是否要删除默认内容。
            if (txtFolder.Text == "输入文件夹路径或点击“选择文件夹”按钮选择")
            {
                txtFolder.Text = "";
            }
        }
        private void txtName_MouseClick(object sender, MouseEventArgs e)
        {  //档鼠标点击该控件时,进行判断,是否要删除默认内容。
            if (txtName.Text == "输入文件名")
            {
                txtName.Text = "";
            }
        }
        private void txtNum_MouseClick(object sender, MouseEventArgs e)
        {  //档鼠标点击该控件时,进行判断,是否要删除默认内容。
            if (txtNum.Text == "输入编号")
            {
                txtNum.Text = "";
            }
        }

    }
}

c#开发:批量修改文件名称

时间: 2024-12-20 23:37:19

c#开发:批量修改文件名称的相关文章

百度云盘批量修改文件名称方法

今天介绍百度云盘在线批量修改文件名称的方法,一次性修改多个关键词,大大提升批量修改文件名称的速度. 第一步,下载最新百度网盘批量处理软件 工具为绿色免安装版本,直接下载到电脑中后解压运行其中的bdmaster.exe文件,另外,特别提示:软件的解压路径不能有中文,否则会出现兼容性闪退. 下载地址:dwz.cn/JTUmWpfD 第二步,登录网盘账号,可以多账号登录 运行后批量处理助手软件如同打开浏览器界面一样,只是在菜单栏中多出了一些批量处理的功能,其他操作完全和浏览器中使用一致. 第三步,选择

百度网盘盘批量修改文件名称云盘重命名手机

应用场景:保存别人分享的网盘链接文件,然而文件名称中有很多杂七杂八的信息,看着很不爽,或者说想替换成自己想要的信息,该怎么办呢?同时文件分散在各个文件夹中,如何把它们都找出来并批量替换重命名呢? 首先,下载网盘批量处理软件 https://www.lanzous.com/b825731/ ,软件界面和网页中打开自己的百度网盘一样,但是会多出很多批量操作的菜单栏,如:批量重命名.批量分享.批量转存.批量永存及批量生成目录树等功能. 其次,登录自己的网盘账号,登录后就可以使用批量操作了,批量重命名菜

批量修改文件名称

一, 有很多文件,有的文件名里面有-,如何将所有文件名中的-,换成a 方法一:rename - a d* 方法二:for i in *.txt;do mv $i $(sed "s/a/-/" <<<$i);done 二, shell批量修改文件名 ?  .txt  --->  .html for f in *.txt; do mv ${f%txt}{txt,html}; done

python批量修改文件名称

参考文章:http://www.cnblogs.com/ma6174/archive/2012/05/04/2482378.html 最近遇到一个问题,在网上下载了一批视频课程,需要将每节课的名称标号,方便排序观看,正好看了两天python语法,就想着用python实现一个简单的改名字的程序,果然有人已经做了,参考一下前辈的文章代码,差了点资料,就实现了一个简单的改名字的程序. 代码是参考前辈的,如有侵权请联系. # -*- coding: utf-8 -*- 'change file name

IO流-批量修改文件名称案例

/* *   源文件名:   桌面-我们今天学习IO流了哈哈哈哈-001.jpg *   修改后文件名:  桌面-000x.jpg */public class File_listFiles_updateFileName {         public static void main(String[] args) {            File file=new File("F:\\G盘\\学习资料\\新建文件夹");            File[] listFiles =

批量修改文件夹名称,从此再也不愁了

package practice; import java.io.File; /** * 通过这个程序可以批量修改文件夹的名字 * @author asus * */public class ChangeName { public static void main(String[] args) { //封装数据源 File file = new File("F:\\Java\\历经5年锤炼(史上最适合初学者入门的Java基础视频)"); //获取文件夹下所有文件及文件夹 File[]

用SSH指令批量修改文件夹 文件权限和拥有者

在linux系统下或登录ssh可以批量修改文件权限 wwwroot目录下的所有目录的权限递归设置为755 cd wwwrootfind -type d -exec chmod 755 {} \;或者是find -type d|xargs chmod 755 同样,把目录下的所有文件权限递归地改成644可以这样执行 find -not -type d -exec chmod 644 {} \;或者是find -not -type d|xargs chmod 644 在linux批量修改文件拥有者需

修改文件名称或者替换文件名中的内容

import os def putName(path, flag, oldName, newName): """ 修改文件名称或者替换文件名中的内容 """ dirList = os.listdir(path) for i in dirList: if i.startswith('.'): continue newPath = os.path.join(path, i) if os.path.isdir(newPath): putName(new

一个批量修改文件夹中文件名的命令

1. 只修改当前目录下的文件 [root]# rename -s  \.png  \_iphone.png  * 这个是修改目录下 的所有文件名,加入一个后缀 如: 1.png    ->>>   1_iphone.png 2. 递归修改当前目录下的所有子文件夹 [root]# find ./ -name  "*.png" | xargs  -I {} rename -s \.png  \_iphone.png  {} 如: 2.png    ->>>