影刀RPA新手教程:文件批量处理操作指南——遍历文件夹、改名、移动与复制
做自动化,迟早要和文件打交道。
采集的数据保存在一堆CSV里需要合并、日志文件该删了、命名不规范要统一改。
影刀的文件处理指令不复杂,但操作组合起来会了能省大量时间。
一、遍历文件夹里的所有文件
右侧指令面板搜索"遍历文件夹",拖到画布。配置两个参数:
- 文件夹路径:要扫描的目录
- 文件类型:
*.*表示所有文件,*.xlsx表示只要Excel,*.csv只要CSV
遍历文件夹("D:\\数据\\日报\\","*.xlsx")->文件路径列表 遍历列表(文件路径列表,文件路径):文件名称=获取文件名(文件路径)输出日志(f"处理中:{文件名称}")# 你的业务逻辑读取Excel(文件路径)->表格# ...也可包含子文件夹:
店群矩阵自动化突破运营极限!
# 如果有"递归"选项,勾选后会进入子文件夹遍历文件夹("D:\\数据\\","*.*",递归=True)二、文件改名
文件路径="D:\\数据\\20260609_日报.xlsx"新路径="D:\\数据\\日报_2026年6月9日.xlsx"重命名文件(文件路径,新路径)批量改名:
遍历文件夹("D:\\照片\\","*.jpg")->文件列表 遍历列表(文件列表,文件路径,索引):新文件名=f"照片_{索引+1:03d}.jpg"新路径=f"D:\\照片\\已整理\\{新文件名}"复制文件(文件路径,新路径)# 复制到整理目录,不改原文件索引 + 1:03d的意思是:从1开始编号,不足3位的补零(001, 002, …, 099, 100)。
三、文件移动
# 把昨天的日报移到归档文件夹源文件=f"D:\\数据\\日报\\日报_{昨天日期}.xlsx"目标=f"D:\\数据\\归档\\2026年\\6月\\日报_{昨天日期}.xlsx"# 先确保目标目录存在创建文件夹("D:\\数据\\归档\\2026年\\6月")移动文件(源文件,目标)按文件类型分类移动:
遍历文件夹("D:\\下载\\","*.*")->文件列表 遍历列表(文件列表,文件路径):扩展名=获取文件扩展名(文件路径)# ".xlsx"如果 扩展名==".xlsx":移动文件(文件路径,f"D:\\整理\\Excel\\{获取文件名(文件路径)}")否则如果 扩展名==".csv":移动文件(文件路径,f"D:\\整理\\CSV\\{获取文件名(文件路径)}")否则如果 扩展名 属于[".jpg",".png",".gif"]:移动文件(文件路径,f"D:\\整理\\图片\\{获取文件名(文件路径)}")四、文件删除与清理
删除单个文件
删除文件("D:\\temp\\无用文件.txt")批量清理旧文件
# 删除7天前的日志遍历文件夹("D:\\日志\\","*.log")->文件列表 遍历列表(文件列表,文件路径):修改时间=获取文件修改时间(文件路径)当前时间=datetime.now()如果(当前时间-修改时间).days>7:删除文件(文件路径)输出日志(f"已删除过期文件:{获取文件名(文件路径)}")⚠️注意:删除操作不可逆。建议测试时先改成"移动到回收站"(如果有这个指令的话),或者先输出日志确认要删的文件列表,再执行删除。
temu店群自动化报活动案例
五、检查文件是否存在
如果 文件存在("D:\\数据\\数据源.csv"):读取CSV("D:\\数据\\数据源.csv")else:输出日志("数据源文件不存在,跳过")六、综合实战:每日数据整理脚本
# 子流程:F_每日数据整理来源目录="D:\\下载\\"Excel目标="D:\\数据\\Excel\\"CSV目标="D:\\数据\\CSV\\"# 1. 确保目标目录存在创建文件夹(Excel目标)创建文件夹(CSV目标)# 2. 遍历下载目录遍历文件夹(来源目录,"*.*")->文件列表 Excel计数=0CSV计数=0遍历列表(文件列表,文件路径):扩展名=获取文件扩展名(文件路径).lower()文件名=获取文件名(文件路径)如果 扩展名==".xlsx":移动文件(文件路径,Excel目标+文件名)Excel计数+=1否则如果 扩展名==".csv":移动文件(文件路径,CSV目标+文件名)CSV计数+=1# 3. 汇总通知输出日志(f"整理完成!Excel文件{Excel计数}个,CSV文件{CSV计数}个")# 4. 合并所有Excel(可选)如果 Excel计数>1:# 用Pandas合并所有Excel文件Python代码:importpandasaspdimportglob files=glob.glob("D:\\数据\\Excel\\*.xlsx")dfs=[pd.read_excel(f)forfinfiles]merged=pd.concat(dfs,ignore_index=True)merged.to_excel("D:\\数据\\Excel\\合并汇总.xlsx",index=False)print(f"已合并{len(files)}个Excel文件")七、一个实用的批量创建文件夹脚本
有些自动化需要为每个店铺创建独立文件夹:
店铺名列表=["店铺A","店铺B","店铺C","店铺D"]遍历列表(店铺名列表,店铺名):路径=f"D:\\店铺数据\\{店铺名}"如果 非 文件存在(路径):创建文件夹(路径)输出日志(f"创建文件夹:{路径}")把"创建必要目录"放在流程开头,避免后面写到路径时因为目标文件夹不存在而报错。
作者:林焱
本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。