收起左侧

自开发飞牛批量重命名助手 —— NAS 文件批量改名利器

0
回复
45
查看
[ 复制链接 ]

2

主题

1

回帖

0

牛值

江湖小虾

飞牛批量重命名助手 —— NAS 文件批量改名利器

一个轻量、安全、开箱即用的飞牛 NAS 文件重命名工具,支持单文件与批量更名,内置预览与冲突检测,完美适配飞牛系统主题。


本人其他项目:Docker镜像导入导出工具lol

一、项目简介

飞牛批量重命名助手是一款专为飞牛 NAS 系统打造的第三方应用,帮助用户在 Web 管理界面中高效完成文件的重命名工作。无论是单文件的快速改名,还是成百上千个文件的批量处理,都能在几秒内完成。

典型场景:

  • 影视剧集文件名批量添加季集编号
  • 照片按「日期_序号」格式统一重命名
  • 清除下载文件中的广告前缀或乱码字符
  • 正则表达式批量替换复杂命名规则

二、功能特性

2.1 文件浏览与管理

  • 目录树浏览:直观的面包屑导航,支持任意层级目录穿梭
  • 多存储池切换:如有多个存储池/卷,可一键切换根路径
  • 全局搜索:支持文件名模糊搜索与正则表达式搜索,递归扫描所有允许路径
  • 排序:按名称、修改时间、大小、类型排序,升序/降序自由切换
  • 文件图标:自动识别 7 大类文件类型(图片/视频/文档/压缩包/代码/音频/文件夹),以不同颜色图标区分

2.2 单文件重命名

  • 点击任意文件后的「重命名」按钮
  • 文件名和扩展名分开编辑,避免误操作
  • 确认后即时生效

2.3 批量重命名(七种模式)

模式 说明 示例
查找替换 替换文件名中指定文本 photo_copyphoto
添加前缀 在文件名前添加固定文本 IMG_0001.jpg旅行_IMG_0001.jpg
添加后缀 在扩展名前添加文本 reportreport_v2.pdf
序号重命名 按「格式 + 序号」统一编号 文件_01.txt, 文件_02.txt...
删除字符 删除文件名中的指定字符 【广告】电影.mp4电影.mp4
大小写转换 全小写 / 全大写 / 首字母大写 Hello World.txthello world.txt
正则替换 完整正则表达式支持,含捕获组引用 2024年01月15日2024-01-15

2.4 预览与安全

  • 实时预览:批量操作时即时预览重命名结果,无需等待服务器
  • 冲突检测:自动检测目标文件名是否已存在,冲突项高亮标注
  • 操作日志:完整记录每次重命名操作,支持追溯与排查
  • 路径安全:严格控制访问范围在 NAS 允许的存储路径内,防止越权访问

2.5 主题适配

  • 完美适配飞牛系统的亮色 / 暗色 / 跟随系统三种主题模式
  • 自动响应系统主题切换,无需手动设置

三、使用方法

3.1 基本使用

  1. 在飞牛应用中心安装「文件重命名工具」
  2. 打开应用,进入文件浏览界面
  3. 通过目录树或搜索定位到目标文件夹
  4. 勾选需要重命名的文件(支持全选、反选)
  5. 底部工具栏选择批量操作模式,填写参数
  6. 预览确认后点击「执行重命名」即可

3.2 单文件重命名

直接点击文件右侧的「重命名」按钮,在弹窗中修改文件名和扩展名,确认保存。

3.3 批量序号重命名

  1. 勾选目标文件,点击底部「序号重命名」
  2. 命名格式中输入 照片_{序号}{序号} 为必填占位符)
  3. 设置起始序号(如 1)和序号位数(如 3 → 001)
  4. 预览无误后执行

3.4 正则替换

  1. 点击「正则替换」
  2. 输入正则表达式,如:(\d{4})年(\d{2})月(\d{2})日
  3. 替换文本中使用 $1-$2-$3 引用捕获组
  4. 也可点击预设按钮快速填充常用正则

3.5 修改服务端口

在飞牛应用设置中可自定义服务端口号,修改后自动重启服务。


四、技术架构

4.1 整体架构

**──────────────────────────────────────────**
**              飞牛 NAS 系统               **
**  **────────────────────────────────────**  **
**  **           Web 管理界面              **  **
**  **   **────────────────────────────**   **  **
**  **   **    proxy.cgi (CGI 代理)     **   **  **
**  **   **    转发 HTTP 请求到后端     **   **  **
**  **   **──────────**─────────────────**   **  **
**  **──────────────**─────────────────────**  **
**                 **                         **
**  **──────────────▼─────────────────────**  **
**  **       Flask 后端服务 (server.py)    **  **
**  **  - 目录遍历 API                     **  **
**  **  - 文件搜索 API                     **  **
**  **  - 单文件重命名 API                 **  **
**  **  - 批量重命名 API                   **  **
**  **  - 预览/冲突检测 API               **  **
**  **  - 操作日志 API                     **  **
**  **──────────────**─────────────────────**  **
**                 **                         **
**  **──────────────▼─────────────────────**  **
**  **      静态前端 (HTML + JS + CSS)     **  **
**  **  - 纯原生 JavaScript,零依赖框架   **  **
**  **  - CSS 变量实现主题切换            **  **
**  **  - 客户端实时预览引擎              **  **
**  **────────────────────────────────────**  **
**                 **                         **
**  **──────────────▼─────────────────────**  **
**  **          NAS 文件系统               **  **
**  **────────────────────────────────────**  **
**──────────────────────────────────────────**

4.2 技术栈

层级 技术选型 说明
后端 Python 3 + Flask 轻量 Web 框架,依赖仅 Flask 一个包
前端 原生 HTML/CSS/JS 零框架、零构建工具,开箱即用
代理 Bash CGI 脚本 转发飞牛 Web 请求到 Flask 后端
进程管理 Shell 主控脚本 start/stop/status 生命周期管理
配置 JSON + 环境变量 端口、允许路径通过环境变量注入

4.3 API 接口一览

接口 方法 说明
/api/root GET 获取允许访问的根路径
/api/list GET 列出目录内容,含文件元信息
/api/search GET 全局递归搜索文件/目录
/api/rename POST 单文件重命名
/api/batch_rename POST 批量重命名
/api/preview_batch POST 批量重命名预览(不执行)
/api/log GET 获取操作日志
/api/theme GET 获取当前主题

4.4 安全设计

  • 路径白名单:通过 TRIM_ALLOWED_FOLDERS 环境变量限制可访问目录,所有路径操作前均做 realpath 解析与范围校验
  • 冲突检测:重命名前检查目标路径是否已存在同名文件,避免数据覆盖
  • 操作审计:所有重命名操作记录在服务端日志中(内存保留最近 200 条)
  • root 运行隔离:以 root 权限运行以保证 NAS 文件操作权限,但路径受严格约束

五、安装说明

5.1 前置要求

  • 飞牛 NAS 系统
  • Python 3 环境(安装脚本自动检测)

5.2 安装步骤

  1. 下载应用包(.fpk 文件)
  2. 进入飞牛系统「应用中心」→「手动安装」
  3. 上传并安装应用包
  4. 安装完成后,在应用列表中点击应用设置,设置可读写的目录
  5. 应用中心中打开或桌面打开使用

默认服务端口为 18899,如需修改可在应用设置中变更。

六、改进

欢迎通过以下方式参与:

  • 在本应用帖子下分享使用心得
  • 提出一些稀奇古怪的要求!ps-不一定改!

七、常见问题

Q:批量重命名后发现搞错了,能撤销吗?

目前暂不支持一键撤销,建议在执行前仔细预览确认。未来版本计划加入撤销功能。

Q:为什么有些文件无法重命名?

可能是以下原因:①目标文件名已存在(触发冲突保护);②文件不在允许的存储路径内;③文件正被其他程序占用。

Q:服务端口冲突怎么办?

在飞牛应用设置中修改端口号,应用会自动重启并绑定新端口。


八、截图预览

应用界面包含:文件列表浏览、面包屑导航、全局搜索、批量操作工具栏、七种重命名模式弹窗、实时预览面板、操作日志记录。完美支持亮色/暗色主题,与飞牛系统风格统一。

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

九、安装包

upload 附件:file-renamer.fpk.zip

收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则