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

批处理脚本无法将含公共名称的影视文件移入对应文件夹如何修改

问题原因

原脚本的匹配逻辑与实际场景不匹配:原脚本判断「文件名是否包含完整文件夹名」,但你的文件夹名称是公共前缀 + 自定义后缀格式,文件名仅包含公共前缀部分,因此无法触发匹配规则。

修改后的批处理脚本
@echo off
setlocal enabledelayedexpansion
pushd "%~1"
:: 遍历所有待移动文件
for /F "USEBACKQ tokens=*" %%a in (`dir /b /a:-d 2^>nul`) do (
    set "_file=%%a"
    :: 遍历所有已存在的分类文件夹
    for /D %%b in (*) do (
        set "_dir=%%b"
        :: 提取文件夹名中第一个 "-" 之前的部分作为匹配前缀
        for /F "delims=- tokens=1" %%c in ("!_dir!") do (
            set "_prefix=%%c"
            :: 去除前缀末尾多余的空格,避免匹配失败
            set "_prefix=!_prefix:~0,-1!"
            :: 判断文件名是否包含匹配前缀
            if NOT "x!_file:*!_prefix!=!" == "x!_file!" (
                move "%%a" "%%b\"
                :: 匹配成功后跳出文件夹循环,避免重复移动
                goto :nextfile
            )
        )
    )
    :nextfile
)
popd
endlocal
逻辑说明
  • 自动过滤无文件时的系统报错,所有路径默认加引号兼容空格、特殊符号场景
  • 对每个文件夹名称,按分隔符-切割后取第一部分作为公共匹配前缀,自动去除前缀末尾冗余空格
  • 匹配规则改为「判断文件名是否包含提取到的公共前缀」,匹配成功后直接移动文件并跳过后续文件夹匹配,避免重复操作

内容的提问来源于stack exchange,提问作者user3520363

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 16:15:05