它具备两个主要功能:一是将源文件夹中的视频文件按序复制或移动到多个目标文件夹中,并为每个视频文件创建同名文件夹后移入;二是将指定文件夹中的txt文件按设定数量合并,然后将合并后的txt文件复制或移动到目标文件夹中。用户在每个步骤按回车键确认后执行下一步操作,完成所有操作后可选择是否继续运行程序进行新的文件处理任务。
用户使用该工具时,程序首先会打印作者相关信息,包括定制小工具的微信联系方式、定制费用说明以及操作提示(每个步骤结束后按回车键确认执行下一步)。之后,用户按以下步骤操作:
- 输入视频源文件夹路径和操作类型:在“请输入视频源文件所在文件夹总路径:”提示后,准确输入包含视频文件的源文件夹路径。接着,在“请选择操作类型(复制/移动)建议输入复制:”提示后,输入“复制”或“移动”,以确定对视频文件的操作方式。
- 读取目标文件夹路径:程序会从
usb_folders.txt文件(以UTF - 8编码读取)中读取目标文件夹路径,用户无需手动输入目标文件夹路径,但需确保usb_folders.txt文件存在且路径格式正确,每个路径独占一行。 - 输入视频处理数量:在“请输入要复制或移动到每个手机的视频数量,输入数字:”提示后,输入一个整数,表示要将多少个视频文件复制或移动到每个目标文件夹中。
- 输入txt文件夹路径:在“请输入包含txt文件的文件夹总路径:”提示后,输入包含需要合并的txt文件的文件夹路径。
- 输入txt文件合并数量:在“请输入每几个txt文件合并为一个的数量,输入数字:”提示后,输入一个整数
n,表示每n个txt文件合并为一个新的txt文件。 - 输入txt操作类型:在“请选择txt操作类型(复制/移动)建议输入移动:”提示后,输入“复制”或“移动”,确定对合并后的txt文件的操作方式。
- 输入txt处理数量:在“请输入每个文件夹放几个合并后的txt文件,输入数字:”提示后,输入一个整数,表示每个目标文件夹中放置合并后的txt文件的数量。
输入完成后,程序开始执行操作:
视频文件处理:
- 排序视频文件:程序使用
natural_sort_key函数(通过正则表达式将文件名按数字和字符分开,并将数字部分转换为整数进行排序)对源文件夹内所有.mp4视频文件进行排序。 - 处理目标文件夹:对于每个目标文件夹,程序检查其中已有的视频文件数量。若数量已达到或超过
num_videos_to_process,则跳过该目标文件夹。否则,计算需要从源文件夹复制或移动到该目标文件夹的视频文件数量,并从排序后的源视频文件列表中取出相应数量的文件进行操作。 - 复制或移动视频并创建文件夹:根据用户选择的操作类型(复制或移动),使用
shutil.copy2或shutil.move函数将视频文件复制或移动到目标文件夹。然后为每个视频文件创建同名文件夹,并将视频文件移入该文件夹中,同时在控制台打印操作信息。
txt文件处理:
- 排序txt文件:程序使用
natural_sort_key函数对指定txt文件夹内所有.txt文件进行排序。 - 合并txt文件:按顺序读取txt文件内容,将文件名(不带后缀)和文件内容以
/分隔连接起来,每n个文件内容合并为一个新的txt文件,并在文件末尾添加换行符(除了最后一个合并文件)。合并后的新文件命名为config_1.txt、config_2.txt等,并保存到原txt文件夹中。 - 移除换行符:程序会移除每个合并后的txt文件最后一行的换行符。
- 复制或移动合并后的txt文件:根据用户选择的操作类型(复制或移动),将合并后的txt文件按顺序复制或移动到目标文件夹中,每个目标文件夹放置
num_txt_to_process个合并后的txt文件,并在控制台打印操作信息。
询问是否继续:完成视频和txt文件的处理操作后,程序询问“是否要继续运行程序?可不退出程序继续执行其他操作(y/n): ”。若用户输入“y”(不区分大小写),则会重新提示用户输入各项参数,开始新一轮的文件处理操作;若输入其他内容,程序结束运行。
例如,假设存在如下文件夹结构:
视频源文件夹
│
├── video1.mp4
│
├── video2.mp4
│
├── video3.mp4
│
├── video4.mp4
txt 文件夹
│
├── text1.txt
│
├── text2.txt
│
├── text3.txt
│
├── text4.txt
用户运行程序,输入“视频源文件夹”作为视频源文件夹路径,输入“复制”作为操作类型,输入“2”作为要复制到每个手机的视频数量,输入“txt文件夹”作为包含txt文件的文件夹路径,输入“2”作为每几个txt文件合并为一个的数量,输入“移动”作为txt操作类型,输入“1”作为每个文件夹放几个合并后的txt文件的数量。程序会将“video1.mp4”和“video2.mp4”复制到“目标文件夹1”,并为它们分别创建同名文件夹后移入;将“video3.mp4”和“video4.mp4”复制到“目标文件夹2”,同样创建同名文件夹后移入。同时,将“text1.txt”和“text2.txt”合并为“config_1.txt”,“text3.txt”和“text4.txt”合并为“config_2.txt”,移除每个合并文件最后一行换行符后,将“config_1.txt”移动到“目标文件夹1”,“config_2.txt”移动到“目标文件夹2”。操作完成后输出提示信息,并询问用户是否继续运行程序。若选择“y”,可重新输入参数进行新一轮操作;若选择其他内容,程序结束。
python版本:3.86
是否带UI界面:非UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 709-监测指定文件夹修改文件名为所在文件夹名称并移动到指定文件夹下
- 710-批量合并指定文件夹下同名文件夹到目标文件夹合并时覆盖同名文件
- 726-批量删除指定文件夹下及子孙文件夹下所有文件-不删除文件夹及空文件夹
- 755-批量根据excelA-B列内容移动文件夹到目标文件夹
- 758-一键按照时间-按月份-按日期-文件类型-修改时间整理文件
- 763-批量删除整理多层文件夹冗余
- 771-批量复制指定文件夹到多个文件夹中
- 779-批量删除指定文件夹下指定名称的文件-包含子孙文件夹下指定文件名称
- 789-批量检测指定文件夹下空文件夹并输出到txt
- 10080-1-监测指定文件夹-支持子孙文件夹-对所有压缩包创建同名文件夹移入并解压-只支持zip-rar-7z压缩包的解压




还没有评论,来说两句吧...