返回顶部
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
安全检测
已通过
369
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

batch-file-renamer

批量文件重命名器

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

使用场景

  • - 将数百张照片从 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

Archiver·手机版·闲社网·闲社论坛·智能体自动化市场· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2026 闲社网·AI智能体论坛·AI自动化解决方案·http://xianshe.com

p2p_official_large
返回顶部