精华内容
下载资源
问答
  • 批量修改文件名软件,包含替换子文件夹中的文件,比其它软件实用
  • re -m@#$将目录下所有文件名中的@#$去掉,这是去掉名字中多个字符的命令 re -r@#将目录下所有文件名中的@用#替换掉 re -s@#$%将目录下所有文件名中的@用#替换,$用%替换,这是替换名字中多个字符的命令 re -f+前面七...
  • 工作中,可能会遇到有大量的文件的文件需要批量修改文件名,比如有上百PPT文件需要批量修改名称。手工单个修改会耗费大量的时间,还容易出错,可以使用python的os.rename方法实现批量修改文件名称。Python的os....

    工作中,可能会遇到有大量的文件的文件需要批量修改文件名,比如有上百个PPT文件需要批量修改名称。手工单个修改会耗费大量的时间,还容易出错,可以使用python的os.rename方法实现批量修改文件名称。

    Python的os.rename()方法用于命名文件或目录,语法为os.rename(原文件名或目录名,修改后的文件名或目录名)

    以修改ppt文件名举例,如已知OldName和NewName 两个list,将ppt文件夹中的所有文件名由OldName修改为NewName

    第一步,获取ppt文件夹中的所有ppt文件名,可以使用os或者glob库,这里以os.listdir方法为例,获取所有文件名的list并命名为变量OldNameimport os

    OldName = os.listdir(r'C:\Users\Fee\Desktop\ppt')

    print('打印变量OldName:',OldName)

    新的文件名变量NewName,可以根据自己的情况生成list,本例仅做简单示范。NewName = ['201901','201902','201903','201904','201905']

    print('打印变量NewName:',NewName)

    完整代码如下import os

    OldName = os.listdir(r'C:\Users\Fee\Desktop\ppt')

    print('打印变量OldName:',OldName)

    NewName = ['201901','201902','201903','201904','201905']

    print('打印变量NewName:',NewName)

    for o,n in zip(OldName,NewName):

    path = r'C:/Users/Fee/Desktop/ppt/'

    print('打印修改前、修改后文件路径',path + str(o),path + str(n) +'.pptx')

    os.rename(path + str(o),path + str(n) +'.pptx')

    修改结果如下

    注意事项:

    Path变量中,路径要使用斜杠“/”,如使用反斜杠“\”,会出现报错SyntaxError: EOL while scanning string literal

    展开全文
  • 自己写的一小工具,可以实现批量修改文件夹下边的所有文件的名称,三种方式,还可以包含文件夹文件夹内的文件名称一起修改,需要的朋友可以下载
  • 有一个文件夹,其中包括所有班级同学上交的作业,每人一份;所有作业命名格式统一,都是地信1701_姓名_学习心得格式。 现需要对每一位同学的作业加以改名,有很种需求。 第一种需求,将每一位同学作业文件名中...

    1 需求

      现有一个文件夹,其中包括所有班级同学上交的作业,每人一份;所有作业命名格式统一,都是地信1701_姓名_学习心得格式。

    在这里插入图片描述

      现需要对每一位同学的作业加以改名,有很多种需求。

      第一种需求,将每一位同学作业文件名中原本是姓名的部分,都修改为学号。即原本的地信1701_姓名_学习心得修改为地信1701_学号_学习心得(每一位同学有且仅有一个学号,且相互不重复,且姓名与学号的对应关系我们是已知的),如下图所示。

    在这里插入图片描述

      第二种需求,将每一位同学作业文件名中原本姓名的部分的后面,都添加上学号。即原本的地信1701_姓名_学习心得修改为地信1701_姓名_学号_学习心得,如下图所示。

    在这里插入图片描述
      第三种需求,将每一位同学满足第二种需求后的作业文件名中的下划线_部分,都修改为连接符-。即原本的地信1701_姓名_学号_学习心得修改为地信1701-姓名-学号-学习心得,如下图所示。

    在这里插入图片描述
      好了,知道了需求我们就可以开始进行代码的编写了。

    2 代码实现

      首先,导入必要的库。

    import os
    from openpyxl import load_workbook
    

      接下来,我们首先需要让程序知道每一位同学的姓名与学号之间的对应关系。因为我们已知姓名与学号之间的关系,因此首先需要类似于下图的表格,其中为姓名与学号的一一对应关系。

    在这里插入图片描述
      接下来,我们需要将上述表格中的内容在Python中以字典的格式存储。具体代码如下,关于这一部分代码的解释大家查看这篇博客(https://blog.csdn.net/zhebushibiaoshifu/article/details/115864227)即可,此处就不再赘述~

    original_path='F:/学习/2020-2021-2/形势与政策(二)/论文与学习心得/01_学习心得/地信1701-学习心得/'
    look_up_table_path='F:/学习/2020-2021-2/形势与政策(二)/论文与学习心得/01_学习心得/Name_Number.xlsx'
    look_up_table_row_start=2
    look_up_table_row_number=32
    
    name_number_dict={}
    look_up_table_excel=load_workbook(look_up_table_path)
    look_up_table_all_sheet=look_up_table_excel.get_sheet_names()
    look_up_table_sheet=look_up_table_excel.get_sheet_by_name(look_up_table_all_sheet[0])
    for i in range(look_up_table_row_start,look_up_table_row_start+look_up_table_row_number):
        number=look_up_table_sheet.cell(i,1).value
        name=look_up_table_sheet.cell(i,2).value
        name_number_dict[number]=name
    

      接下来,进行第一种需求的代码实现。

    # Replacement Renaming
    
    all_word=os.listdir(original_path)
    for i in range(len(all_word)):
        old_name=all_word[i]
        old_name_name_end=old_name.rfind('_')
        old_name_name=old_name[7:old_name_name_end]
        new_name_number=[k for k, v in name_number_dict.items() if v==old_name_name]
        new_name=old_name.replace(old_name_name,''.join(str(w) for w in new_name_number))
        os.rename(original_path+old_name,original_path+new_name)
    

      其中,由于大家的姓名有两个字、三个字或者更多字,因此我们使用了old_name_name_end获取原有文件名称中姓名最后一个字所在的下标;而姓名开始的位置是确定的,即从而确定了每一位同学姓名在原有文件名中的起始与终止下标位置。同时利用replace,依据同学的姓名,在字典中搜索该同学的学号,最后将同学的名字替换为其对应的学号。

      其次,是第二种需求。

    # Additional Renaming
    
    all_word=os.listdir(original_path)
    for i in range(len(all_word)):
        old_name=all_word[i]
        old_name_name_end=old_name.rfind('_')
        old_name_name=old_name[7:old_name_name_end]
        new_name_number=[k for k, v in name_number_dict.items() if v==old_name_name]
        old_name_list=list(old_name)
        insert_number=''.join(str(w) for w in new_name_number)+'_'
        old_name_list.insert(old_name_name_end+1,insert_number)
        new_name=''.join(old_name_list)
        os.rename(original_path+old_name,original_path+new_name)
    

      在这里,同样使用old_name_name_end获取原有文件名称中姓名最后一个字所在的下标,从而确定了每一位同学姓名在原有文件名中的起始与终止下标位置。此外,利用insert,将学号这一项插入到原有的文件名称中。

      最后,是第三种需求。

    # Modified Renaming
    
    all_word=os.listdir(original_path)
    for i in range(len(all_word)):
        old_name=all_word[i]
        new_name=old_name.replace('_',"-",3)
        os.rename(original_path+old_name,original_path+new_name)
    

      这个就简单很多了,直接利用replace,用连接符-替换掉原有的下划线_即可。

    展开全文
  • BAT 批量提取文件夹内文件名

    万次阅读 2015-10-22 18:30:35
     比如,笔者电脑里面E盘文件夹下面有一个“4.2函数经典再现”的文件夹,想将这个文件夹下面的所有文件名批量提取到一个记事本文件里面。    如果你也想批量提取文件名(批量获取一个文件夹内所有文件的文件名)...

    (一)批量提取文件夹内文件名

    一个文件夹下面有很多文件,如果要批量提取文件夹内所有文件名,知道如何操作吗?

    比如,笔者电脑里面E盘文件夹下面有一个“4.2函数经典再现”的文件夹,想将这个文件夹下面的所有文件名批量提取到一个记事本文件里面。

    提取文件夹内文件名 
      如果你也想批量提取文件名(批量获取一个文件夹内所有文件的文件名),可以按下面的步骤进行。
     
      第一步,新建一个txt格式的记事本文件。
     
      第二步,在记事本文件中输入:DIR *.*  /B >LIST.TXT
    批量提取文件名
     
      第三步,将此记事本文件后辍名,由txt改为bat。会弹出重命名对话框,单击“是”。
    批量复制文件名 
      第四步,双击文件“新建文本文档.bat”即可生成list.txt文件。打开txt文件就可以看到当前文件夹内的所有文件名列表。(温馨提示:你也可以把文件“新建文本文档.bat”放在其他文件 夹里运行,获取当前文件夹下面的所有文件名哦!)
     
      总结:本文的提取文件夹内文件名的方法,思路就是将文件保存到要提取文件名的目录下,保存为*.bat(*为文件名),然后双击执行就OK了。这也是传送中的批处理命令。


    另一篇参考代码:

    @echo off

    for /f "delims=" %%a in ('dir /b/a-d/oN *.*') do echo %%a >>当前文件夹内文件名.txt



    相关文章:

    Windows_超级简单批处理命令批量修改文件名

    额,首先我们看一下这个需求场景,有时候我们恢复照片后,变成了无扩展名的文件,或者我们需要在所有的文件名重命名加上后缀或前缀,这时候我们不需要安装任何程序,直接一条批处理就能完成。


    step1:

    把要改名的文件放到同一个文件夹里,再新建一个文本,内容为

    [plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
    1. ren * *.jpg  

    保存,改文件为rename.bat即可。


    解释一下,*为通配符。




    展开全文
  • 问题:将图片名中的ing_变为0。 当前目录下:$ ls pic,change_name.sh pic/ |__kk1/ |__img_001.jpg |__img_002.jpg |__vv2/ |__img_005.jpg |__ab...

    问题:将图片名中的ing_变为0。

    当前目录下:$ ls

    pic,change_name.sh

    pic/

         |__kk1/

                   |__img_001.jpg 

                   |__img_002.jpg

         |__vv2/

                   |__img_005.jpg 

                   |__abc_002.jpg

       解决:

    在change_name.sh中写入如下内容:

    #!/usr/bin/env sh
    cd pic
    DIR=`ls .`
    for dir in ${DIR};do

      fi [ -d ${dir}];then

        cd $dir
        rename 's/img_/0/' *.jpg
        cd ..
      fi
    done

    运行:sh change_name.sh

    结果:

    pic/

         |__kk1/

                   |__0001.jpg 

                   |__0002.jpg

         |__vv2/

                   |__0005.jpg 

                   |__abc_002.jpg

     

    转载于:https://www.cnblogs.com/beihaidao/p/7429387.html

    展开全文
  • 脚本可以批量修改当前文件夹下面的jpg图片文件名。主要是为了方便android开关机动画文件名字格式化,格式文件名为4位数,不足4位以0补足,如:0001.jpg,0010.jpg,0110.jpg
  • import os path = ‘E:\dong\dong\json’ outpath = ‘E:\dong\’ filelist = [] for file in os.listdir(path): filelist.append(file) i=0 for file in filelist: src = os.path.join(path, filelist[i],‘img....
  • 主要为大家详细介绍了python批量修改文件夹及其子文件夹下的文件内容,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 提取文件夹下的文件夹名和文件名(包含子文件夹) 新建txt文件,并将后缀修改为.bat 编辑该bat文件 保存,双击运行该bat文件 观察结果 ———————————————— 原文链接:...
  • 2.在一个文件夹内或者子文件夹,有很多文件名种有关键字要替换成某个文字 3.如何批量去掉大量文件名中相同的前缀? 其实归纳了一下就是批量文件名,有人说用鼠标点击挨个挨个改就有点牛! 试问一下上万个文件,...
  • perl 版本的参数格式:rename perlexpr files注意,perl版本的rename只有两参数,第一参数为perl正则表达式,第二参数为所要处理的文件man rename的帮助示例:1) 有一批文件,以 .bak结尾,现在想把这些 .bak ...
  • 批量修改文件名

    2014-10-12 05:30:49
    批量文件改名王可以用来批量重命名多个文件。您可以使用数字或字母序列来指定命名规则,替换特定的字符或短语,并将文件特有的信息插入每个新文件名
  • python 批量处理给文件夹重命名后转存到另一个文件夹中,有两个方法,一个是使用os.rename,一个是shutil.copy,两个方法的效果不一样,之间上代码吧。我的代码实现两个功能: ①对A1文件夹下pic文件里的图片进行...
  • 自己用python编写的 可批量修改文件夹内文件名的小程序,可大大提高工作效率。只要文件夹内文件名有相同关键词,可一并修改。 命令参考: cmd下,运行 rename.exe 关键词1【原文件名中的关键词(如:风险)】 关键词2...
  • 对文件批量更名的需求背景:外出游玩,拍了很张旅游照片,但大多数相机对拍摄的照片的命名一般是:IMG_20180706102314.jpg等...你有一文件夹,主文件夹下面有很文件夹,每文件夹保存有张产品的照片...
  • 在工作或者平时生活中,我们有时候会遇到大批量的文件名需要重命名,十几二十文件进行一命名还是可以的,但如果涉及到成百上千文件需要重命名,那一改的方法显然太耗费时间和精力了,如果任务比较...
  • C# 批量修改文件名

    2018-01-17 09:38:35
    C# 批量修改文件名 -文件及文件夹操作- File类、Directory 类、FileInfo 类、DirectoryInfo 类
  • ubuntu下批量更改文件夹下的文件名

    千次阅读 2019-04-08 22:33:06
    假设,old_char代表文件名中原来的字符,new_char代表想替换成的字符。...若想将文件夹下的文件名中的old_char改为new_char, 需要在目标文件夹下,打开终端,输入:rename 's/old_char/new_char/' * ,结束。 ...
  • 批量修改文件夹下所有文件的名称

    万次阅读 2018-03-12 13:51:27
    所需工具:cmd、excel、记事本一、利用cmd将文件夹下的内容全部输出假设要导出的内容在E:/graduate/pic下,输入:e: cd graduate cd pic dir > name.txt将其中所有文件的名字都存入name.txt中,创建的文件夹...
  • C++批量修改文件夹文件名

    千次阅读 2016-11-24 12:50:58
    在微信朋友圈里面看到别人发的...这里就不介绍了,当时当我扒下来之后,发现都是不可读文件,后面尝试了下修改文件名后缀,能读取,既然这样的话,那把所有文件名修改过来即可了,nonono,身为一名有洁癖的程序员,这
  • 今天老菜鸟要给大家分享一个批量操作的神级技巧:批量提取文件名。简单三步,就能提取出成百上千文件名称。学习更技巧,请收藏部落窝教育excel图文教程。今天要分享的这技能,虽然和Excel有关系,但是又和...
  • "不是一个文件夹!" ); return ; } String[] files = file.list(); File f = null ; String filename = "" ; String oldFileName = "" ; for ( int i = 0 ; i;i++){ oldFileName = files[i]; ...
  • Linux系统中批量创建文件,和批量修改文件名。 编写脚本,在/tmp 目录下批量创建 500 文件,命名规则为:姓名.数字.hack.html 方法一: 1、touch name.{1…500}.hack.html 方法二: 2、for i in seq 500;do touch ...
  • 遇到文件,需要重命名的时候,有些人就头疼了,几百文件,要是全部都要重命名,要...方法一:电脑自带批处理1、按 Ctrl + A 组合键,全选所有文件,用这功能,可以选中需要批量更改名称的文件;2、按 F2 键重...
  • 批量修改文件名 删除某个指定字符.rar
  • 批量修改文件夹或文件名称 1. 找到需要修改文件夹(文件),点击左上角主页,找到复制路径 2. 新建excel文件,将复制的路径粘贴进去,用替换的方法将名称前的路径替换掉,这种方法文件名的顺序不会发生改变 3...
  • 想要实现批量提取文件名功能去请教别人,vbs高手说写一程序就行了;excel高手说编一函数或者宏定义就OK。拜托,我只是要提取文件名而已,函数编程现学来不及,难道真的只能复制粘贴?不用怕,很简单,一行DOS...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,303
精华内容 7,721
关键字:

多个文件夹内文件名批量更改