原标题:10094-源文件夹内视频指定数量复制或移动到目标文件夹并为视频文件创建同名文件夹移入-txt文本合并后将合并的复制或移动到目标文件夹【源代码】
导读:
它具备两个主要功能:一是将源文件夹中的视频文件按序复制或移动到多个目标文件夹中,并为每个视频文件创建同名文件夹后移入;二是将指定文件夹中的txt文件按设定数量合并,然后将合并后...
它具备两个主要功能:一是将源文件夹中的视频文件按序复制或移动到多个目标文件夹中,并为每个视频文件创建同名文件夹后移入;二是将指定文件夹中的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使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 解决Markdown嵌入哔哩哔哩视频在微信页面中自适应宽度问题
- 716-批量移动指定文件夹带有关键词文件到目标文件夹-支持多个关键词
- 723-批量将两个文件夹分别或同时按顺序-随机规则-移动或复制文件或文件夹到目标文件夹下各一级文件夹内
- 728-搜索指定文件夹下指定文件夹并移动文件夹到指定文件夹内
- 751-以txt中内容批量搜索并删除删除指定文件夹下文件
- 759-实时监测文件夹并移动文件及文件夹到指定文件夹内
- 760-批量将文件提取到指定文件夹下各子文件夹的根目录,并删除空文件夹-对子孙文件夹均有效
- 764-删除空文件夹-多层文件夹精简夹
- 767-读取txt中名称创建文件夹并移动包含该关键词的文件到创建的文件夹内
- 770-批量获取指定目录下所有的一级文件夹名字
- 1开通VIP会员享全站内容免费查看
- 2🔥🔥🔥承接各种批处理工具定制 / 售后相关信息 / 任何需求请在该文章下留言
- 3752-批量复制文件及文件夹到多个文件夹
- 410081-1-批量解压自解压文件-【支持密码-子文件穿透】【不支持嵌套自解压或压缩包解压】-除自解压文件外不能有其他exe文件
- 5790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 6网页插入bilibili哔哩哔哩视频
- 7401-批量识别pdf中二维码并替换为指定图片或覆盖白色
- 8431-批量合并指定文件夹下各文件夹内pdf为一个pdf文件
- 9Adobe程序完全卸载教程完全卸载无残留-【包括单个程序卸载和全部程序卸载】(win系统版本)
- 10为ps脚本添加快捷键快速调用
还没有评论,来说两句吧...