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

如何修改FileBot脚本使重复文件存入DUPLICATES文件夹且不覆盖原有文件

FileBot 分类脚本重复文件处理修改方案

最终可用脚本

你可以直接使用下方修改完成的脚本,仅需按需调整duplicatePath变量的路径为你想要存放重复文件的目录即可:

{
    // 基础分类存储根路径(与原有逻辑保持一致)
    def basePath = 'Z:/Multimedia UNIQedumx/@cinedriveonline/'
    // 生成分类子目录(与原有分类逻辑完全一致)
    def genreDir = any {
        def order = ['Animation': 1, 'Musical': 2, 'Documentary': 3, 'Family': 4, 'History': 5, 'Science Fiction': 6, 'Horror': 7, 'Fantasy': 8, 'War': 9, 'Western': 10, 'Action': 11, 'Comedy': 12, 'Crime': 13, 'Thriller': 14, 'Adventure': 15, 'Mystery': 16, 'Romance': 17, 'Drama': 18].withDefault{ 100 }
        def genreMap = ['Science Fiction': 'Sci-Fi','Action': 'Acción','Animation': 'Animación','Ciencia ficción': 'Sci-Fi']
        def sortedGenres = genres.toSorted{ order[it] }*.replace(genreMap)
        sortedGenres.first()
    } {
        'No Genre'
    }
    // 生成目标文件名(与原有命名规则完全一致)
    def targetFileName = "${plex.name} - [${vf}] [${mbps}] - @cinedriveonline"
    // 拼接得到标准分类目标路径
    def standardTargetPath = basePath / genreDir / targetFileName

    // 重复文件存储目录,可自行修改路径
    def duplicatePath = 'Z:/Multimedia UNIQedumx/DUPLICATES/'
    // 路径存在校验:标准路径不存在则按规则分类存储,存在则统一移动到重复文件夹
    return !standardTargetPath.exists() ? standardTargetPath : duplicatePath / targetFileName
}

逻辑说明

  • 原有按电影类型分类的逻辑、文件命名规则完全保留,不会影响正常非重复文件的分类结果
  • 新增路径存在判断逻辑:脚本会先检查按分类规则生成的目标路径是否已经存在文件
  • 若目标路径不存在文件,会正常将文件移动到对应分类目录;若目标路径已存在文件,会自动将文件移动到你指定的DUPLICATES文件夹,既不会覆盖原有文件,也不会残留文件在源目录
  • 如果需要避免DUPLICATES文件夹内也出现同名文件覆盖,可以将最后一行的返回逻辑修改为如下格式,自动给重复文件加时间戳后缀:
return !standardTargetPath.exists() ? standardTargetPath : duplicatePath / "${now.format('yyyyMMddHHmmss')}_${targetFileName}"

内容的提问来源于stack exchange,提问作者Abdias Rivera Bautista

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 00:48:02