You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过批处理脚本按文件名中的01-03集数过滤将视频文件分类移动到对应文件夹?

如何通过批处理脚本按文件名中的01-03集数过滤将视频文件分类移动到对应文件夹?

哈哈,我完全get到你的需求了!你手头有成千上万部剧集的视频文件,每部剧大概40集,现在想把同一部剧的所有集都归到对应的专属文件夹里,而不是之前用的脚本那样每个文件单独建个文件夹——毕竟那样太乱了,对吧?

先说说你之前用的脚本问题在哪:那个脚本是对每个文件创建一个以文件名命名的文件夹,然后把单个文件移进去,这显然不符合你“把同一部剧的所有集放一起”的需求。下面给你量身定制几个解决方案,你可以根据自己的文件名格式来选:


方案一:针对集数是末尾两位数字的情况(最通用)

如果你的文件名格式是[剧集前缀][两位集数].[扩展名],比如:

  • Curtain.Call.S01E01.mp4
  • Derailment.2023.ep02.mkv
  • Joseon.Attorney.A.Morality.S01E03.avi

直接用这个脚本就行:

@echo off
setlocal enabledelayedexpansion

:: 这里可以修改成你实际的视频扩展名,用空格分隔多种格式
set "video_exts=mp4 mkv avi mov"

:: 遍历所有指定扩展名的视频文件
for %%e in (%video_exts%) do (
    for %%f in (*.%%e) do (
        :: 提取文件名(不含扩展名)
        set "filename=%%~nf"
        :: 截取文件名前半部分,去掉最后两位的集数
        set "drama_folder=!filename:~0,-2!"
        :: 创建剧集文件夹(已存在则忽略错误)
        md "!drama_folder!" 2>nul
        :: 移动当前文件到对应文件夹
        move "%%f" "!drama_folder!"
    )
)

echo 所有视频文件分类完成!
pause

脚本说明:

  • @echo off:关闭命令行的命令回显,让输出更清爽
  • setlocal enabledelayedexpansion:启用延迟变量扩展,保证for循环里的变量能实时更新
  • set "video_exts=...":这里可以添加你所有的视频格式,比如要处理flv文件就加个flv
  • !filename:~0,-2!:这是核心操作,把文件名的最后两位(也就是集数)删掉,剩下的就是剧集名称,用来创建文件夹

方案二:如果集数是三位数字(比如E100)

要是你的剧集超过99集,集数是三位数字,只需要把脚本里的!filename:~0,-2!改成!filename:~0,-3!就行,其他部分不变。


方案三:针对集数前有固定标识的情况(比如E/ep)

如果你的集数前面有固定的标识,比如S01EXX或者epXX,可以用更精准的方式截取剧集前缀:

@echo off
setlocal enabledelayedexpansion

set "video_exts=mp4 mkv avi"

for %%e in (%video_exts%) do (
    for %%f in (*.%%e) do (
        set "filename=%%~nf"
        :: 先找是否有"E"标识,截取E前面的部分加E作为前缀
        set "temp=!filename:E=%%!"
        if not "!temp!"=="!filename!" (
            set "drama_folder=!filename:%%=E!"
        ) else (
            :: 没有E的话找"ep"标识
            set "temp=!filename:ep=%%!"
            if not "!temp!"=="!filename!" (
                set "drama_folder=!filename:%%=ep!"
            )
        )
        md "!drama_folder!" 2>nul
        move "%%f" "!drama_folder!"
    )
)

echo 分类完成!
pause

这个脚本会自动识别E或ep标识,把标识前面的内容加标识作为文件夹名,比如Curtain.Call.S01E01会提取成Curtain.Call.S01E,Derailment.2023.ep01会提取成Derailment.2023.ep,更贴合你的真实文件名格式。


重要提醒:

  1. 先测试再批量处理:建议先找几个测试文件,新建一个文件夹放进去,试用脚本确认效果,避免误操作
  2. 备份文件:如果文件很重要,最好先备份一份再运行脚本
  3. 调整扩展名:一定要把脚本里的video_exts改成你实际的视频格式,不然会漏掉文件

备注:内容来源于stack exchange,提问作者owais owais

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 09:13:06