文档备案控制台
免费开始使用

影刀RPA零基础教程:文件与文件夹批量处理——重命名、分类归档、批量创建与清理

做电商运营,除了采集数据,每天还要跟大量文件打交道——供应商发来的报价单、平台的退货凭证、每天导出的订单报表、店铺装修的图片素材……时间一长,桌面和下载文件夹就变成了“垃圾场”,找个文件比采集数据还费劲。

我也是非技术出身,最开始处理文件全靠手动——一个一个重命名、一个一个拖进对应的文件夹。有一次要给200多张商品图重命名,改到第50个的时候眼花了,把“连衣裙_黑色”命名成了“连衣裙_黑包” ,后面全部乱套。后来用影刀写了几个文件处理的流程,200个文件3分钟搞定,零失误

今天就把文件与文件夹批量处理的完整方案讲一遍。

文件处理的三个核心场景

文件处理自动化主要有三类需求,搞清楚你要解决哪一类,再选对应的指令

场景典型需求核心指令
批量重命名统一加前缀/后缀、替换关键词、按日期重命名获取文件列表 + 文件重命名
分类归档按类型/日期/关键词移动到不同文件夹获取文件列表 + 移动文件
批量创建与清理批量建文件夹、删除临时文件批量创建带顺序的文件夹 + 删除文件

picture.image

准备工作:文件操作的核心指令

影刀RPA里文件操作相关的指令都在右侧指令面板的“文件与文件夹”分类下。最常用的就这几条:

picture.image

指令名称作用关键参数
获取文件列表读取文件夹里的所有文件文件夹路径、文件名匹配规则(如*.xlsx)、是否查找子文件夹
获取文件路径信息提取文件名、后缀、所在目录文件路径

| 文件重命名 | 修改文件名 | 原文件路径、新文件路径 | | 移动文件 | 把文件移到另一个文件夹 | 要移动的文件、目标文件夹 | | 拷贝文件 | 复制文件到另一个文件夹 | 要拷贝的文件、目标文件夹 | | 删除文件 | 删除指定文件 | 要删除的文件 | | 创建文件夹 | 新建一个文件夹 | 父文件夹目录、新文件夹名称 | | 移动/拷贝文件夹 | 整个文件夹移动或复制 | 源文件夹路径、目标文件夹路径 |

picture.image

实战一:批量重命名——3分钟搞定200个文件

这是最常用也最基础的文件处理场景。核心思路:获取文件列表→遍历每个文件→按规则生成新文件名→执行重命名。

picture.image

案例:给商品图片统一加前缀

picture.image 场景:你从相机里导出了200张商品图,文件名是IMG_0001.jpgIMG_0002.jpg……想统一改成店铺名_20260629_001.jpg这种格式。

完整流程

picture.image

# 1. 让用户选择目标文件夹
打开选择文件夹对话框 → $目标文件夹

# 2. 获取该文件夹下所有图片
获取文件列表:
    文件夹 = $目标文件夹
    文件名匹配规则 = "*.jpg"  # 只处理jpg格式
    查找子文件夹 = False
    保存文件列表至 → $文件列表

# 3. 循环遍历每个文件
设置 $序号 = 1
ForEach $当前文件 in $文件列表:
    # 3.1 提取原文件名和后缀
    获取文件路径信息:
        文件路径 = $当前文件
        提取文件名 → $原文件名
        提取文件后缀 → $后# 3.2 生成新文件名(店铺名_日期_序号.后缀)
    $新文件名 = "我的店铺_" + 获取当前日期("YYYYMMDD") + "_" + 格式化数字($序号, 3) + "." + $后$新文件路径 = $目标文件夹 + "\" + $新文件名
    
    # 3.3 执行重命名
    文件重命名:
        要重命名的文件 = $当前文件
        
        新文件路径 = $新文件路径
    
    $序号 = $序号 + 1
结束

输出日志("重命名完成,共处理" + 获取列表长度($文件列表) + "个文件")

一个容易踩的坑:重命名时如果新文件名已经存在,会报错。解决方法:在重命名前用“文件是否存在”指令判断一下,存在的话在文件名后面加个随机数或时间戳。

进阶:从Excel读取命名规则

如果命名规则比较复杂——比如每个文件要改成Excel里指定的名字,可以从Excel读取:

# 打开Excel,读取命名对照表
打开Excel("C:\命名规则.xlsx") → $Excel对象
读取表格数据 → $命名列表  # 两列:原文件名、新文件名

# 遍历文件列表,匹配Excel里的规则
ForEach $当前文件 in $文件列表:
    获取文件路径信息($当前文件) → $原文件名
    # 在$命名列表里查找对应的新文件名
    $新文件名 = 在列表中查找($命名列表, $原文件名, 匹配列=0, 返回列=1)
    如果 $新文件名 != "":
        文件重命名($当前文件, $目标文件夹 + "\" + $新文件名)
    结束
结束

picture.image

picture.image

实战二:按规则自动分类归档

picture.image 场景:下载文件夹里堆了几百个文件——有Excel报表、有图片、有PDF合同。你想让机器人按文件类型自动归类到不同文件夹:图片进图片库、Excel进报表、PDF进合同

picture.image

方案一:按文件后缀分类

# 1. 获取下载文件夹的所有文件
获取文件列表("C:\Users\用户名\Downloads", "*.*") → $文件列表

# 2. 确保分类文件夹存在
创建文件夹("C:\文件归档\图片")
创建文件夹("C:\文件归档\报表")
创建文件夹("C:\文件归档\合同")
创建文件夹("C:\文件归档\其他")

# 3. 遍历并分类移动
ForEach $当前文件 in $文件列表:
    获取文件路径信息($当前文件) → $后缀
    
    如果 $后缀 == ".jpg"$后缀 == ".png"$后缀 == ".gif":
        移动文件($当前文件, "C:\文件归档\图片")
    否则如果 $后缀 == ".xlsx"$后缀 == ".xls"$后缀 == ".csv":
        移动文件($当前文件, "C:\文件归档\报表")
    否则如果 $后缀 == ".pdf":
        移动文件($当前文件, "C:\文件归档\合同")
    否则:
        移动文件($当前文件, "C:\文件归档\其他")
    结束
结束

移动 vs 拷贝的选择

  • 移动文件:原位置的文件消失,只保留在新位置。适合“整理归档”场景。
  • 拷贝文件:原位置的文件保留,新位置多一份副本。适合“备份”场景。

方案二:按文件名关键词分类

有些文件按后缀分不够精细——同样是Excel,有的是“订单报表”、有的是“商品数据”。可以按文件名里的关键词来分类:

# 按关键词分类
如果 $文件名包含 "订单":
    移动文件($当前文件, "C:\文件归档\订单报表")
否则如果 $文件名包含 "商品"$文件名包含 "产品":
    移动文件($当前文件, "C:\文件归档\商品数据")
否则如果 $文件名包含 "退货"$文件名包含 "售后":
    移动文件($当前文件, "C:\文件归档\售后记录")
否则:
    移动文件($当前文件, "C:\文件归档\其他")
结束

方案三:按文件修改日期分类

按日期建文件夹,每天的文件归到当天的目录下:

ForEach $当前文件 in $文件列表:
    获取文件信息($当前文件) → $修改日期  # 获取文件的修改日期
    $日期文件夹 = "C:\文件归档\" + 格式化日期($修改日期, "YYYY-MM-DD")
    
    # 如果当天的文件夹不存在,先创建
    如果 文件夹不存在($日期文件夹):
        创建文件夹($日期文件夹)
    结束
    
    移动文件($当前文件, $日期文件夹)
结束

一个容易踩的坑获取文件列表指令默认只获取当前文件夹的文件,不会获取子文件夹里的文件。如果你需要处理子文件夹里的文件,记得勾选“查找子文件夹”选项。

实战三:批量创建带顺序的文件夹

做项目管理或日报系统时,经常需要一次性创建多个带编号的文件夹——比如项目_01项目_30

影刀有一个专门的“批量创建带顺序的文件夹”魔法指令,一句话搞定。

配置参数

  • 文件夹数量:要创建几个(比如30个)
  • 命名前缀:文件夹名称前缀(比如项目_
  • 起始序号:从几开始编号(比如01)
  • 保存路径:在哪个目录下创建

运行后自动生成项目_01项目_02……项目_30,整齐划一。

拓展玩法:可以结合Excel,从表格里读取名称列表,批量生成自定义命名的文件夹。比如从Excel读取“店铺A、店铺B、店铺C……”,自动创建对应名称的文件夹。

实战四:批量压缩图片文件

运营同学经常需要批量压缩图片——商品图太大上传慢、活动海报超出发送限制。

影刀的“批量压缩图片文件”魔法指令可以一键搞定。

参数配置

  • 输入图片所在文件夹路径:待压缩图片所在的文件夹
  • 压缩后图片保存的文件夹路径:压缩后输出的文件夹
  • 压缩质量:0-100,默认85
  • 目标最大文件大小:可选,如0.5MB

运行后自动遍历文件夹下所有支持的图片格式(JPG、PNG、WEBP),逐张压缩,保存到输出文件夹,并输出压缩前后大小变化、压缩率等统计信息。

实战五:批量清理——删除临时文件和空文件夹

流程跑久了,临时文件会越积越多。写一个清理流程,定期清理不需要的文件。

清理指定类型文件

# 删除所有.tmp临时文件
获取文件列表("C:\临时文件夹", "*.tmp") → $文件列表
ForEach $当前文件 in $文件列表:
    删除文件($当前文件)
结束
输出日志("已删除" + 获取列表长度($文件列表) + "个临时文件")

删除空文件夹

影刀的“删除文件夹”指令可以直接删除空文件夹。如果要删除非空文件夹,需要先清空里面的文件。

安全提醒:删除操作不可逆。建议先移动到一个“待删除”文件夹,确认无误后再手动清空,而不是直接删除。

进阶技巧:文件去重与筛选

筛选重复文件

影刀有“筛选重复文件”指令,可以按文件MD5值或文件名找出重复文件。

参数设置

  • 比较依据:文件名 / 文件大小 / MD5值
  • 保留规则:保留最早/最晚修改的那个
  • 输出:重复文件列表 + 重复文件报表

获取最新的几个文件

如果只需要处理文件夹里最新的几个文件(比如最新的3个报表),可以用列表切片:

获取文件列表(文件夹, "*.*") → $文件列表
# 对文件列表按修改时间排序(需要Python辅助)
# 取前3个
$最3个文件 = $文件列表[:3]

把文件处理封装成可复用的子流程

和之前封装企微通知、邮件通知一样,把常用的文件处理逻辑封装成子流程。

子流程:Z03_批量重命名(加前缀)

输入参数:
  - $文件夹路径(字符串)
  - $前缀(字符串)
  - $文件类型(字符串,默认"*.*")

流程体:
  获取文件列表($文件夹路径, $文件类型)  $文件列表
  ForEach $当前文件 in $文件列表:
    获取文件路径信息($当前文件)  $文件名, $后缀
    $新文件名 = $前缀 + $文件名 + "." + $后缀
    文件重命名($当前文件, $文件夹路径 + "\" + $新文件名)
  结束
  输出日志("重命名完成,共" + 列表长度 + "个文件")

子流程:Z04_按类型归档

输入参数:
  - $源文件夹(字符串)
  - $目标根目录(字符串)
  - $类型映射(字典,如{"图片":[".jpg",".png"], "报表":[".xlsx"]})

流程体:
  # 遍历类型映射,创建对应的目标文件夹
  ForEach $类型名 in $类型映射.keys():
    创建文件夹($目标根目录 + "\" + $类型名)
  结束
  
  获取文件列表($源文件夹, "*.*") → $文件列表
  ForEach $当前文件 in $文件列表:
    获取文件路径信息($当前文件) → $后缀
    # 判断属于哪个类型
    $目标文件夹 = 根据后缀匹配类型($后缀, $类型映射)
    如果 $目标文件夹 != "":
      移动文件($当前文件, $目标文件夹)
    结束
  结束

以后任何项目需要批量重命名或归档,只需要调用对应的子流程,传入参数就行。

五个容易踩的坑

坑一:路径里有中文或空格

现象:文件操作指令报错,说找不到文件。

原因:路径里有中文或空格,没有正确处理。

解决方法:路径尽量用英文和数字。如果一定要用中文,确保路径用引号括起来。

坑二:移动/删除操作不可逆

现象:跑完流程后发现文件没了,想恢复也恢复不了。

原因:移动和删除操作是永久性的,不会进回收站。

解决方法重要文件先用“拷贝”代替“移动” ,确认无误后再手动删除原文件。

坑三:文件被占用导致操作失败

现象:重命名或删除文件时报错“文件被占用”。

原因:文件正在被其他程序打开(比如Excel文件正开着)。

解决方法:运行文件处理流程前,关闭所有可能占用这些文件的程序。或者在流程里加Try-Catch,被占用的文件跳过并记录日志。

坑四:获取文件列表时漏掉了子文件夹

现象:明明子文件夹里有文件,但流程没处理到。

原因获取文件列表指令默认不查找子文件夹。

解决方法:在指令详情面板里勾选“查找子文件夹”

坑五:重命名时文件名冲突

现象:重命名报错,说文件名已存在。

原因:新文件名和已有的文件名重复了。

解决方法:重命名前用“文件是否存在”判断一下,存在的话在文件名后面加时间戳或随机数。

常见问题速查

问题排查方向
获取不到文件检查文件夹路径是否正确、文件名匹配规则是否写对
文件操作报“访问被拒绝”检查文件是否被占用、是否有写入权限
重命名后文件不见了检查新文件路径是否写对了目录
移动文件后原位置还有用的是“拷贝”不是“移动”
子文件夹里的文件没处理到检查是否勾选了“查找子文件夹”
批量操作时流程卡死文件数量太多,建议分批处理

推荐资源

  • 影刀官方帮助文档搜索“文件与文件夹自动化
  • 影刀官方帮助文档“获取文件列表”、“文件重命名”、“移动文件”等指令详情
  • 影刀官方帮助文档“魔法指令-批量创建带顺序的文件夹
  • 影刀官方帮助文档“魔法指令-批量压缩图片文件
  • 影刀社区搜索“文件批量重命名”或“文件分类”,有大量实战案例
  • CSDN搜索“影刀RPA 文件批量重命名”,有小白的详细图文教程

#影刀RPA #RPA自动化 #文件处理 #批量重命名 #办公自动化 #数据整理

作者:林焱

本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。如果这篇文章对你有帮助,欢迎点赞收藏,下一篇我们聊“图片批量处理与压缩的完整方案”。

0
0
0
0
评论
未登录
暂无评论