精华内容
下载资源
问答
  • 批量修改文件名

    2019-07-23 17:24:43
    这阵子修改文件名把我给弄烦了,懂不懂就要按照一定规则修改上百个文件名,在一些前辈的基础上写了个功能相对全面的批量修改文件名的脚本,刚接触python不久,放到博客上主要是自己电脑上的东西容易丢。请各位大神别...

    这阵子修改文件名把我给弄烦了,懂不懂就要按照一定规则修改上百个文件名,在一些前辈的基础上写了个功能相对全面的批量修改文件名的脚本,刚接触python不久,放到博客上主要是自己电脑上的东西容易丢。请各位大神别打击热情,谢谢。
    主要借鉴了heram前辈的"Python 批量修改文件名"https://www.cnblogs.com/heram/p/6086249.html

    #--** coding ="UTF-8" **--
    # rename files 
    # author:Yujian Dai  time:2019-07-23
    
    import os
    import re
    import sys
    
    # 1)parameter setting
    # 文件夹路径
    path = u'E:\\temporary folder\\'
    # 文件名固定部分
    newname = u'linedrawing'
    
    # 文件名中待修改旧字
    oldword ='_na'
    # 目标新词
    newword =''
    
    # 存储新旧文件名列表的文档位置,文件格式应为txt。
    list_path = u'E:\\word1.txt'
    
    
    
    # 2)
    # 修改方式1:固定部分(指定格式)+序号/在原有文件基础上添加内容
    # path为文件夹路径,newname为文件名固定部分,i为序号开始数字,默认为1
    def renamebynumber(path,newname,i=1):
        # 获取path目录下的所有文件名和目录名
        filenames = os.listdir(path)
        for filename in filenames:
            # 判断是文件还是目录
            if os.path.isdir(os.path.join(path,filename)):
                continue
            # 获取文件后缀名(如:png)
            filetype = filename.rsplit('.', 1)[1]
            # 判断文件名中是否包含某词
            if filename.find('photo') > -1:
                # 修改文件名
                os.rename(os.path.join(path,filename),os.path.join(path,'r_ani_'+newname+str(i).zfill(2)+'.'+filetype))
                i+=1
            else:
                continue
        print(u'完成。')
        
    # 修改方式2:部分修改文件名(指定替换文件名部分内容)
    # path为文件夹路径,oldword为原文件名中指定替换内容,这部分内容将被替换成newword
    def renamebyword(path,oldword,newword):
        # 获取path目录下的所有文件名和目录名
        filenames = os.listdir(path)
        for filename in filenames:
            # 判断是文件还是目录
            if os.path.isdir(os.path.join(path,filename)):
                continue
            # 获取文件后缀名(如:png)
            filetype = filename.rsplit('.', 1)[1]
            # 将文件名中的oldword替换为newword
            newfilename = filename.replace(oldword,newword)
            # 修改文件名
            os.rename(os.path.join(path,filename),os.path.join(path,newfilename))
        print(u'完成。')
        
    # 修改方式3:指定文本为文件名(按工作表对应命名)
    # path为文件夹路径,list_path为工作表绝对路径
    def renamebylist(path,list_path):
        # 获取path目录下的所有文件名和目录名
        filenames = os.listdir(path)
        # 打开工作表作为list_of_filenames对象,注意文本编码方式为'utf-8'
        list_of_filenames = open(list_path,'r',encoding='utf-8')
        # 逐行读取工作表内容,存储为lines字符串列表
        lines = list_of_filenames.readlines()
        # 关闭工作表文件
        list_of_filenames.close()
        # 去除工作表读取时第一行会出现的'\ufeff'字串
        lines[0]=lines[0].encode('utf-8').decode('utf-8-sig')
        # 创建一个空字典,用于保存工作表内容,oldname为键,newname,为值
        dic_of_filenames = {}
        for i in range(len(lines)):
            lines[i] = lines[i].replace('\n','')# 去除换行符
        for line in lines:
            # 工作表的第一列为oldname,第二列为newname
            [oldname,newname] = [line.split('\t',1)[0],line.split('\t',1)[1]]
            # 保存工作表内容,oldname为键,newname,为值
            dic_of_filenames[oldname] = newname
        for filename in filenames:
            # 获取文件后缀名(如:png)
            filetype = filename.rsplit('.', 1)[1]
            # 获取不包含后缀的文件名,用于在字典中查找
            purefilename = filename.rsplit('.', 1)[0]
            if purefilename in list(dic_of_filenames.keys()):
                # 修改文件名
                os.rename(os.path.join(path,filename),os.path.join(path,dic_of_filenames[purefilename]+'.'+filetype))
                i+=1
            else:
                continue
        print(u'完成。')
    
    # 辅助函数,读取指定目录下所有文件名,并以列表的格式将不包含后缀的文件名输出txt文件
    def readfilenamse(path,list_path):
        # 获取path目录下的所有文件名和目录名
        filenames = os.listdir(path)
        list_of_filenames = open(list_path,'w',encoding='utf-8')
        for filename in filenames:
            # 获取不包含后缀的文件名
            purefilename = filename.rsplit('.', 1)[0]
            list_of_filenames.write(purefilename+'\n')
        list_of_filenames.close()
    
    
    # 批量修改指定目录下的文件名
    #renamebynumber(path,newname,i=1)
    #renamebyword(path,oldword,newword)
    #renamebylist(path,list_path)
    readfilenamse(path,list_path)
    
    
    展开全文
  • 借助excle批量修改文件名,可将与第二列名称相似的文件名称修改问对应第一列的名称。方便快捷的Java代码
  • 快速批量修改文件名

    万次阅读 多人点赞 2017-09-23 10:57:42
    快速批量修改文件名 经常需要处理大量的图片序列,但是下载的图片序列格式并不是自己所想要的,因此介绍一种常用的快速批量的修改文件名的方法(亲试)。 1.将需要修改的文件放在同一个文件夹下,如:C:\imgs(里边...

    快速批量修改文件名

    经常需要处理大量的图片序列,但是下载的图片序列格式并不是自己所想要的,因此介绍一种常用的快速批量的修改文件名的方法(亲试)。

    1.将需要修改的文件放在同一个文件夹下,如:C:\imgs(里边存放了698张命名为img0001--img0698的jpg格式图片)

    2.   点击 开始——>运行——>在对话框中输入cmd,进入dos模式。


    3.   在dos命令提示符后输入 cd c:\imgs进入要修改文件所在的文件夹内,回车。


    再输入dir  /b>rename.xls  回车。(创建名为rename的.xls文件,并将文件夹下的所有文件名在rename.xls中列出来。)


    4.   用xls打开c:\img中的rename.xls 你会发现所有的文件都罗列在A列表中。将A列最后一行的rename.xml删除。


    在B列表中输入要更改成的文件名。(0001格式,可在设置单元格格式里的自定义设置数字形式为0000就行,并选择快速填充)


    然后鼠标选中C1单元格,并在编辑框中输入公式 = “ren  “&A1&”  “&B1

    鼠标拖动C1单元格右下方的句柄,填充所有行数。


    5.   鼠标选中C列,右键复制。

    在文件目录下新建一个记事本文件,粘贴刚才的命令行。将文件保存为 .bat格式并保存在文件所在目录中。

    6.   最后进入对应文件夹双击 文件名.bat 便按照rename.xls中的顺序批量修改文件名。

    参考:http://jingyan.baidu.com/article/656db918a7e848e381249c0e.html

     

    展开全文
  • Java批量更改文件名

    万次阅读 2016-08-07 10:49:17
    java批量更改文件名,文件目录树

          更改文件名是我们常做的事,更改一个文件名很容易,可是如果要更改大量有相似点的文件名,且可能位于不同的目录下,就麻烦多了;现分享一段代码,遍历指定目录下的所有文件,并更改文件名

    package com.vapy.file;
    /**
     * 
     * @author vapy
     *
     */
    import java.io.File;
    
    // 本程序在改名的同时将目录的树状图输出
    public class ChangeFileName
    {
        /* 这两个变量用于给文件分级  */
        private static int level = 0;
        private static String levelStr;
        private static String fileName;
    
        public static void main(String[] args)
        {
            File file = new File("E:/movies");
            changeName(file, level);
        }
    
        public static void changeName(File file, int level)
        {
            /* 该部分用于给文件分级 */
            levelStr = "";
            for(int i = 0; i < level; i++)
                levelStr += "-";
    
            System.out.println(levelStr + file.getName());
            /* 出口条件file是文件而不是目录 */
            if(file.isFile())
            {
                /* 重命名之后,该file所对应的文件就没有了,故若先改名后判断isFile必为false */
                if(file.getName().contains("_超清"))
                {
                    fileName = file.getParent() + "\\" + file.getName().replaceAll("\\_超清", "");
                    file.renameTo(new File(fileName));
                }
                return;
            }
            File[] subFile = file.listFiles();
            for(File f : subFile)
                changeName(f, level+1);
        }
    }

    本文代码可在github查看:点击此处

    展开全文
  • 几天前在163公开课上下了一些mp4视频文件。发现课程名和文件名对应,想到编个程序批量修改。先分析网页源代码将课程名和文件名一一对应,存储在一个文件里,然后使用Java读取该文件进而修改文件名
  • python批量修改文件名为当前时间戳,并移动指定的工作目录
  • 使用BAT脚本批量修改文件名的方法

    万次阅读 多人点赞 2018-06-10 16:31:58
    通过BAT脚本批量修改文件名的办法有两种:一,先进入想要修改文件名的文件夹中,使用命令:dir /b "*.后缀名" &gt; yuan.xls 从生成含有所需文件名的xls文件(即Excel文件),然后在xls文件中通过...

    通过BAT脚本批量修改文件名的办法有两种:

    一,先进入想要修改文件名的文件夹中,使用命令:

    dir /b "*.后缀名" > yuan.xls 

    从生成含有所需文件名的xls文件(即Excel文件),然后在xls文件中通过

    CONCATENATE("ren ",A2," ",B2)

    来生成对应的cmd命令,其中A2为原文件名的那一个框,B2为新文件名的那一个框,然后将cmd命令复制

    到文本文档中(文本文档应与要改的文件名在同一个目录下),保存并修改后缀名为.bat,双击执行便可以了。

    具体步骤如下:

    一、以示例文档为例进行说明

    (1)      双击 产生示例文件.bat 来运行(或右键点击打开来运行),示例代码如下:

    @echo off
    set /p w=请输入要产生示例文件的格式(即扩展名并以回车结束):
    set a=0
    :loop
    set /a a+=1
    type nul>废柴兄弟第%a%集.%w%
    if %a% == 20 goto end
    goto loop
    :end
    如下图:

    (2)      输入生成示例文件的格式(如txt

    二.双击1.bat来生成yuan.xls文件,如下图:

    步骤一:

      

    步骤二:

    因为是以示例文件为例,所以是txt,如果是视频文件,可为其对应的格式(如mkv、MP4)

    步骤三:

    找到生成的yuan.xls文件并打开:

    步骤四:

    yuan.xls文件里的A列中的文件名复制至重命名.xls的对应A列中,并在B列中添加要改成的文件名,如下图:

    图1

    图2

    步骤五:

    在B列(即新文件名列)填入预要改成的文件名(如将废柴兄弟改为废柴): 

      

    图1

    图2

    图3

    图4

    图5


    步骤六:

    生成对应的cmd命令

    图1

    图2

    图3

    图4

    图5

    步骤七:

    新建一个空白的txt文档,将重命名.xls里C列的内容填入:

    图1

     

    图2

    图3

    图4

    步骤八:

    将新型文本文档的扩展名改为bat(即新建文本文档.txtà新建文本文档.bat

    图1

    图2

    步骤九、

    双击(或右键打开)新建文本文档.bat来修改文件名

     

    图1

    图2

    修改完成

    二、直接通过BAT脚本实现

     通过bat的for循环和字符操作来实现,具体代码如下:

    @echo off
    set /p w=请输入文件格式(即扩展名并以回车结束):
    set /p wf=请输入要修改的文字(以回车结束):
    set /p cb=请输入要改成的文字(若是删除则直接回车,以回车结束):
    for /f "delims=" %%i in ('dir /b /a-d "*.%w%"' ) do ( 
    set str1=%%i 
    setlocal EnableDelayedExpansion
    set "str1=!str1:%wf%=%cb%!"
    ren "%%i" "!str1!"
    endlocal
    )
    pause

    总的来说,第一种方法直观,但比较麻烦,第二种方法简单,但不直观。

    展开全文
  • Python批量修改文件名

    千次阅读 2017-08-21 15:26:35
    工作中经常会遇到需要批量修改文件名的情况,比如: 有这样一个文件夹,里面是249个国家的国家,按照ISO 3166-1标准中的国家二位简称进行命名: 现在面临这样的需求,需要将二位英文简称命名的文件换成国家代码...
  • Python批量更改文件名的实现方法前言:由于后台数据有好多,但是文案提供过来的图片命名全部没有按照格式来命名,Python这么强大的语言,肯定是能够处理这个问题的,于是我就写了一个小脚本批量改文件名。...
  • 【Excel】VBA批量修改文件名

    万次阅读 2018-09-30 11:20:22
    VBA批量修改文件名
  • 对文件批量更名的需求背景:外出游玩,拍了很多张旅游照片,但大多数相机对拍摄的照片的命名一般是:IMG_20180706102314.jpg等样式,这种命名是没有任何意义的,只是知道是拍摄的日期时间是2018年7月6日10点23分14...
  • 如何批量修改文件名

    2020-10-17 17:32:35
    第一步:确认文件路径,CMD命令生成xls文件 组合键Win键+R,在文本框中输入"CMD"。------打开cmd 在CMD模式下输入 ...批量修改照片名称,借助excel修改我们需要的文件名,打开1.xls,如果第一行不是1.xls,需要
  • 批量更改文件名

    2013-11-18 09:32:07
    fileID中每行有一些ID,需要将mp3文件名改为对应的ID名。 使用脚本前注意先备份mp3文件。 """ __author__ = 'GodLaughing' import os, re, sys #Windows # 录音文件目录,/要写 filesRead = "d
  • Winidws批量修改文件名

    2021-10-24 11:54:32
    Windows下通常可使用全选加重命名方式批量更新文件,但是此方法下,除第一个文件外,其他文件名为系统自动以括号加序号填充,无法灵活控制。若需对各文件精准控制更名,可统统dos命令完成。 DOS下更新文件名的命令...
  • 通过BAT脚本批量修改文件名

    千次阅读 2019-06-12 09:32:15
    通过BAT脚本批量修改文件名的办法有两种: 一,先进入想要修改文件名的文件夹中,使用命令: dir /b “*.后缀名” > yuan.xls 从生成含有所需文件名的xls文件(即Excel文件),然后在xls文件中通过 CONCATENATE(...
  • 今天我为大家讲解下如何利用dos命令批量修改文件名,今天我为大家讲解下如何利用dos命令批量修改文件名,如下图有几张图片,接下来我教大家用dos命令进行文件名批量修改。待修改文件一、功能讲解第一步:提取文件名...
  • 技巧篇 批量修改文件名

    千次阅读 2020-04-17 22:21:16
    原文件夹名如下:想要修改成文件夹下面的.svs文件对应文件名 (1)创建一个bat文件 右键创建一个记事本txt文件,将后缀名改成bat,如get.bat 内部编辑: dir/a/s/b>LIST.TXT 将bat文件放在需要修改文件夹名字...
  • python批量修改文件名

    2020-06-16 19:13:21
    import os files = os.listdir("D://data//MOD06//COT//201810") path = "D:/data/MOD06/COT/201810" # 目标路径 for i in range(len(files)):#len()当前... # 设置旧文件名(就是路径+文件名) oldname = path + os
  • windows下如何批量修改文件名 一、总结 一句话总结:就是用excel生成了多条修改文件名的dos命令然后执行,比较核心的就是把图片名称导入excel 将图片名称导入excel---编写如下DOS命令:dir D:\2018届学生照片 /b ...
  • 批量更新文件名对应的引用名,这是一个很好用的批量修改文件名和文件引用的例子。
  • 将当前目录下文件命中指定的中文内容用对应的英文字符替换。import osnamepre = ['财经','地域','电脑','教育', '科技','汽车','人才','体育','卫生','艺术','娱乐','房产'] namepost = ['fi','lo','co','ed', 'te...
  • 批量读取文件名批量改写文件名

    千次阅读 2018-09-25 23:10:32
    bat命令批量获取和修改文件名   如图所示: 1、批量提取 (1)新建文本文档在文本文档里输入: dir /a-d /b *.mp4&gt;src.txt echo 收集文件名成功! pause (2)保存为“createsrc.bat”。 文件名字...
  • python:os.rename()的使用,批量修改文件名 批量修改文件目录的名称 我的需求:给学习资料的文件命名,在学习资料文件名前加上对应的上课日期,因为上课时间是每两天休息一次,所以时间不是连续的,需要对时间做...
  • 在windows中批量修改文件名

    万次阅读 2016-02-09 11:41:47
    在这里,给大家提供一种简单的方法,仅需DOS和EXCEL就可以实现批量修改文件名了。 一、进入DOS命令提示符并切换到目标目录 (以E:\gzhu\MCM\2016\code\0131为例,这里提供两种进入DOS的方法) ①win+r-...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,141
精华内容 10,456
关键字:

对应批量修改文件名