闲社服务运行正常AI智能体自动化平台
b

批量文件重命名

技能标识:batch-file-renamer

Batch rename files with powerful patterns, regex support, and preview functionality. Use when organizing large numbers of files, standardizing naming conventions, adding timestamps, sequential numbering, or cleaning up messy filenames. Ideal for photo management, media libraries, log files, and project cleanup tasks.

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 1.0.0
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

批量文件重命名

批量文件重命名器

支持模式、正则表达式和预览的强大批量文件重命名工具。

使用场景

  • - 将数百张照片从 IMG001.jpg 重命名为 Vacation2025_001.jpg
  • 为日志文件添加时间戳
  • 清理杂乱的下载文件夹
  • 统一跨项目的命名规范
  • 为有序内容添加序列编号
  • 移除文件名中的特殊字符

快速入门

基础重命名

python
import os
import re
from datetime import datetime

def batch_rename(directory, pattern, replacement):

重命名匹配模式的文件

参数:
directory: 文件路径
pattern: 要匹配的正则表达式模式
replacement: 替换字符串

renamed = []
for filename in os.listdir(directory):
new_name = re.sub(pattern, replacement, filename)
if new_name != filename:
old_path = os.path.join(directory, filename)
newpath = os.path.join(directory, newname)
os.rename(oldpath, newpath)
renamed.append((filename, new_name))
return renamed

示例:添加前缀

batchrename(./photos, r^(.*)$, rVacation2025_\1)

序列编号

python
def number_files(directory, prefix=, digits=3, extension=None):
为文件添加序列编号
files = sorted([f for f in os.listdir(directory)
if extension is None or f.endswith(extension)])

renamed = []
for i, filename in enumerate(files, 1):
old_path = os.path.join(directory, filename)
ext = os.path.splitext(filename)[1]
new_name = f{prefix}{str(i).zfill(digits)}{ext}
newpath = os.path.join(directory, newname)
os.rename(oldpath, newpath)
renamed.append((filename, new_name))

return renamed

使用方法

numberfiles(./downloads, prefix=Project, digits=3)

结果:Project001.pdf, Project002.jpg, ...

添加时间戳

python
def addtimestamp(directory, dateformat=%Y%m%d):
为文件添加日期前缀
timestamp = datetime.now().strftime(date_format)

for filename in os.listdir(directory):
old_path = os.path.join(directory, filename)
name, ext = os.path.splitext(filename)
newname = f{timestamp}{name}{ext}
newpath = os.path.join(directory, newname)
os.rename(oldpath, newpath)

使用方法

add_timestamp(./logs)

结果:20250303error.log, 20250303debug.log

预览模式(安全)

python
def preview_rename(directory, pattern, replacement):
预览更改而不实际重命名
changes = []
for filename in os.listdir(directory):
new_name = re.sub(pattern, replacement, filename)
if new_name != filename:
changes.append(f{filename} -> {new_name})
return changes

先预览

preview = previewrename(./files, rIMG(\d+), rPhoto_\1) for change in preview: print(change)

常用模式

模式描述示例
r^IMG(\d+)匹配IMG前缀IMG001.jpg
r\s+
替换空格 | My File.txt → MyFile.txt | | r[^\w\.] | 移除特殊字符 | file@#$%.txt → file.txt | | r\.jpeg$ | 更改扩展名 | .jpeg → .jpg |

最佳实践

  1. 1. 始终先预览 - 在实际重命名前使用 preview_rename()
  2. 备份重要文件 - 重命名操作不可逆
  3. 在单个文件上测试 - 验证模式是否按预期工作
  4. 使用正则表达式分组 - 使用 (\d+) 等捕获文件名部分

安全特性

python
def saferename(directory, pattern, replacement, dryrun=True):
带试运行选项的安全重命名
changes = []

for filename in os.listdir(directory):
new_name = re.sub(pattern, replacement, filename)
if new_name != filename:
changes.append((filename, new_name))

if dry_run:
print(试运行 - 将进行的更改:)
for old, new in changes:
print(f {old} -> {new})
return changes
else:
for old, new in changes:
os.rename(
os.path.join(directory, old),
os.path.join(directory, new)
)
return changes

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 batch-file-renamer-1776276477 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 batch-file-renamer-1776276477 技能

通过命令行安装

skillhub install batch-file-renamer-1776276477

下载

⬇ 下载 batch-file-renamer v1.0.0(免费)

文件大小: 2.23 KB | 发布时间: 2026-4-16 18:20

v1.0.0 最新 2026-4-16 18:20
Initial release
返回顶部