Power Automate 桌面流:RPA 自动化任务
Power Automate 桌面流完全指南:用 RPA 解放双手
Power Automate 桌面流(前身为 Microsoft Power Automate Desktop)是微软提供的机器人流程自动化(RPA) 工具,免费包含在 Windows 10/11 中。它允许你通过图形化设计器录制或构建桌面自动化,无需编写代码,即可自动执行重复性的 Windows 和 Web 任务。
本教程面向零基础用户,从安装配置到构建实用自动化流,一步步带你掌握桌面流的核心能力。
1. 什么是 Power Automate 桌面流
桌面流是 Power Automate 平台中的本地 RPA 解决方案。它可以模拟人类与计算机的交互,例如:
- 打开应用程序、点击按钮、输入文本
- 从 Excel、PDF、网页中提取数据
- 批量处理文件与文件夹
- 自动收发邮件
- 与遗留系统(无 API)交互
核心价值:将人工从重复、枯燥的桌面操作中释放出来,减少错误,提升效率。
桌面流与云端流(Power Automate Cloud Flows)可结合使用,形成有人值守或无人值守的自动化。您无需任何编程基础,通过拖放操作即可构建自动化。
2. 环境准备与安装
2.1 检查系统要求
- 操作系统:Windows 10(版本 1809 或更高)、Windows 11
- 硬件:建议至少 4 GB RAM,2 GB 可用磁盘空间
- 权限:本地管理员权限(用于安装)
- 浏览器:若涉及 Web 自动化,需安装对应浏览器扩展(如 Microsoft Edge 或 Chrome)
2.2 安装 Power Automate 桌面应用
方法一:直接下载安装(推荐)
- 访问 Power Automate 官网下载页面
- 点击“Power Automate 桌面版”的下载按钮,运行
Setup.Microsoft.PowerAutomate.exe - 按向导完成安装,期间会提示安装浏览器扩展(Edge/Chrome),请勾选安装
方法二:通过 Microsoft Store(Windows 11 用户)
- 打开 Microsoft Store,搜索“Power Automate”,获取并安装
安装完成后,启动应用。首次运行需要使用工作或学校账户或个人 Microsoft 账户登录。桌面流编辑器属于免费功能,无需订阅高级许可证即可创建、运行桌面流(仅限有人值守模式)。
3. 界面导览与核心组件
打开 Power Automate,主界面分为三块:
- 左侧导航:主页、我的流、共享、监视、示例
- 中间流设计器:拖放构建流的画布
- 右侧操作窗格:包含数百个预置操作(Actions)
3.1 流设计器画布
每个桌面流按子流(Subflow)组织,至少包含一个 Main 子流。你可以将操作从右侧拖入,按顺序执行。顶部工具栏提供另存为、运行、调试等功能。
3.2 操作分类(重要)
操作按功能分组,常用类别如下:
- 变量:创建、设置变量值
- 条件:If/Else、Switch
- 循环:For each、While、Loop
- 文件:复制、移动、删除文件/文件夹
- Excel:启动 Excel、读取/写入单元格、运行宏
- UI 自动化:点击界面元素、发送键击、获取文本
- 浏览器自动化:启动浏览器、导航至 URL、提取页面数据
- 系统:运行应用程序、进程管理、剪贴板操作
- 邮件:通过 Outlook 发送/接收邮件
- 加密:哈希、加密/解密
每个操作都配有可配置的参数窗口,无需记忆语法。
4. 构建第一个桌面流:自动重命名并归档下载文件
目标:监控“下载”文件夹,将所有 .pdf 文件移动到指定归档目录,并按日期前缀重命名。
4.1 创建新流
- 点击“新建流”,输入名称“每日 PDF 归档”
- 点击“创建”,进入设计器
4.2 获取下载文件夹中的 PDF 文件
- 从操作窗格拖入 “文件夹” > “获取文件夹中的文件”
- 文件夹路径:
C:\Users\%USERNAME%\Downloads(或使用%USERPROFILE%\Downloads) - 文件筛选器:
*.pdf - 点击保存。输出变量名为
Files,是一个文件列表。
- 文件夹路径:
4.3 遍历文件
- 添加 “循环” > “For each”
- 要迭代的值:
%Files% - 在循环内添加后续操作
- 要迭代的值:
4.4 生成新文件名
为了按日期重命名,需要动态获取当前日期。
- 在循环内,添加 “日期时间” > “获取当前日期和时间”
- 格式选择自定义:
yyyy-MM-dd - 输出变量:
CurrentDate
- 格式选择自定义:
- 添加 “变量” > “设置变量”(若需要拼接字符串)
- 选择“创建新变量”,名称为
NewName - 值:
%CurrentDate%_%CurrentItem.Name% - 或者直接在重命名操作中使用表达式
- 选择“创建新变量”,名称为
4.5 移动并重命名文件
- 添加 “文件” > “移动文件”
- 要移动的文件:
%CurrentItem% - 目标文件夹:
C:\ArchivedPDFs(提前创建好) - 如果文件已存在:选择“重命名”或“覆盖”(根据需求)
- 高级中可勾选“更改名称”,输入新名称,如:
%CurrentDate%_%CurrentItem.Name%
- 要移动的文件:
4.6 添加错误处理(可选)
为移动文件操作添加异常处理:
- 右键点击“移动文件”操作 → 选中“错误时”配置
- 添加 “变量” > “设置变量” 记录出错文件路径到列表,或写入日志文件
4.7 运行与测试
点击工具栏的“运行”按钮,观察执行过程。若出错,调试工具会高亮失败步骤,双击可查看错误详情。
最终流的结构示意:
Main
└── 获取文件夹中的文件 (筛选 *.pdf)
└── For each %Files%
├── 获取当前日期和时间 → %CurrentDate%
├── 设置变量 %NewName% = %CurrentDate%_%CurrentItem.Name%
└── 移动文件 %CurrentItem% → C:\ArchivedPDFs (新名称 %NewName%)
5. UI 自动化实战:批量处理记事本数据
桌面流最强大的能力在于操作任意 Windows 应用程序。我们以记事本为例,演示如何自动打开、写入、保存。
5.1 录制 UI 操作
对于初学者,推荐使用桌面录制器。
- 在设计器顶部点击“录制器”图标
- 桌面录制器窗口出现后,开始操作:
- 按 Win 键,输入“notepad”,回车打开记事本
- 在记事本中键入
Hello, this is automated. - 点击“文件” > “保存”,选择路径,输入文件名,保存
- 完成操作后,停止录制,操作自动转换为流步骤
- 生成的步骤通常包含:
- “运行应用程序”:notepad.exe
- “单击窗口中的 UI 元素”:定位文本区域
- “填充窗口中的文本字段”:发送字符串
- “单击窗口中的 UI 元素”:菜单、保存按钮等
录制器是快速上手的捷径,但生成的“UI 元素”选择器可能不够健壮,后续需优化。
5.2 手动构建可靠的 UI 自动化
手动添加 UI 操作更可控。
- 启动应用程序:拖入“系统” > “运行应用程序”
- 应用程序路径:
notepad
- 应用程序路径:
- 定位窗口:添加“UI 自动化” > “获取窗口”
- 窗口选择器:点击“添加 UI 元素”,按住 Ctrl 键点击记事本窗口,自动捕获
- 设置焦点:添加“单击窗口中的 UI 元素”,选择记事本编辑区
- 发送文本:“填充窗口中的文本字段”或“发送键击”
- 要发送的文本:
This line was typed by RPA.
- 要发送的文本:
- 保存文件:同理点击菜单“文件” > “保存”,在“另存为”对话框中填写路径和文件名
关键技巧:
- UI 选择器:使用“窗口标题”和“类名”保持稳定性,避免依赖坐标
- 动态等待:在 UI 操作后添加“等待”条件,确保界面就绪
6. 使用变量与数据类型
桌面流支持多种数据类型,无需显式声明,但赋值时需注意。
6.1 创建变量
- 操作“设置变量”可新建并赋值
- 变量名区分大小写,引用时用百分号包裹:
%VarName%
6.2 常用数据类型
| 类型 | 说明 | 示例 |
|---|---|---|
| 文本 (Text) | 字符串 | "Hello" |
| 数值 (Number) | 整数或小数 | 123,3.14 |
| 布尔 (Boolean) | True / False |
常用于条件 |
| 列表 (List) | 有序集合 | [1, 2, 3] |
| 数据表 (DataTable) | 类似表格 | 多用于 Excel |
| 日期/时间 (DateTime) | 时间类型 | 2025-03-15 09:30 |
6.3 表达式与转换
在参数输入框中点击 {x} 图标可打开表达式编辑器,支持算术运算、字符串拼接、日期格式化等。
例如:
- 拼接:
%'Name: ' + UserName% - 取文件扩展名:
%Path.GetExtension(FilePath)% - 日期比较:
%DateTime.Compare(Date1, Date2)%
7. 条件逻辑与循环
7.1 If/Else 条件
- 拖入“条件” > “If”
- 第一个操作数:
%Counter%,运算符:大于,第二个操作数:10 - 在“If”下方拖动操作,在“Else”下方放置备用操作
7.2 Switch 多路分支
当需要根据变量不同值执行不同分支时,使用 Switch:
- 值:
%Status% - 添加多个 Case:如
"Approved"、"Rejected" - 可设默认分支
7.3 循环结构
- For each:遍历列表、数据行、文件集合
- Loop:重复执行指定次数
- While:当条件为真时循环,需注意避免死循环
- 退出循环:可提前中断
8. 错误处理与调试
8.1 默认行为
默认情况下,一个操作失败将导致整个流立即终止并返回错误。
8.2 每步异常处理
- 点击某操作的三个点 > “配置运行时选项”
- 启用“错误时”区域,添加补救操作(如重试、写日志、继续下一项)
8.3 全局异常处理
通过在 Main 流顶部添加“On block error”操作(需“系统”类别),可捕获整个子流的错误:
- 拖入“系统” > “出错时”
- 在其中包含备用逻辑:例如发送错误邮件、通知用户
8.4 调试工具
- 设置断点:右键操作编号,选择“切换断点”,运行时会暂停
- 单步执行:工具栏的“运行下一个操作”或“跳过”
- 变量监视:左侧变量面板实时显示值变化
- 运行历史:每次运行记录均可查看,高亮失败项
9. 输入输出与触发方式
桌面流本身不能直接由事件触发(除非与云流配合),但可在设计时定义输入变量,在手动运行时弹出对话框输入值。
9.1 定义输入变量
- 在流属性(右侧“输入/输出变量”标签)中点击“+”添加输入变量
- 设置名称、类型、默认值、描述
- 在操作中使用时直接
%变量名%
运行时,会先弹出表单让用户填写。
9.2 与云流集成(无人值守执行)
若需计划触发(例如每日 9 点运行),需通过云流调用桌面流:
- 在 Power Automate 门户(Web)创建“计划云端流”
- 添加操作“运行使用 Power Automate Desktop 构建的流”
- 选择“无人值守”模式(需付费许可证)
- 配置网关(计算机需开机且登录)
但本教程面向免费功能,手动运行或有人值守已足够满足个人自动化需求。
10. 常用的实用示例片段
10.1 从网页提取表格数据到 Excel
- 启动浏览器:打开 Chrome,导航到目标 URL
- 提取网页上的数据:使用“浏览器自动化” > “提取网页上的数据”
- 选择“显示表格”,捕获表格 UI 元素
- 输出为 DataTable 变量
- 写入 Excel:启动 Excel → 打开工作簿 → “写入数据表到 Excel 工作表”
10.2 批量发送带附件的邮件
- 获取“待发送”文件夹中所有文件列表
- 读取一个 Excel 文件获取收件人邮箱和主题
- 循环每一行:
- 条件判断文件是否存在
- 使用“Outlook” > “发送邮件”,附加对应文件
10.3 剪贴板操作自动化
- “获取剪贴板文本” → 处理(如正则清洗) → “设置剪贴板文本”
- 常用于从系统间无法直接交互的应用中取数据
11. 最佳实践与注意事项
- 选择器策略:优先使用属性(Name、AutomationId),避免绝对坐标;测试时调整窗口大小/分辨率以验证健壮性。
- 等待时机:UI 操作后添加“等待窗口内容”或“等待元素出现”,防止因系统延迟导致失败。
- 异常处理不可少:任何文件操作、网络请求都要包装异常处理。
- 安全存储凭据:使用 Power Automate 的加密凭据功能,切勿硬编码密码。
- 模块化设计:将常用功能封装为子流,在多个流中调用,便于维护。
- 版本控制:定期复制流或使用“另存为”备份,避免误改丢失。
- 遵守合规要求:自动化涉及个人数据时,确保符合组织隐私政策。
12. 学习资源与下一步
- 官方文档:Microsoft Power Automate Desktop 文档
- 示例流:应用内置“示例”专区,可导入学习
- 社区论坛:Power Automate Community 提供大量问答
- 深入方向:
- 学习云流结合,实现端到端自动化(审批、通知等)
- 掌握 AI Builder 集成,从文档中提取结构化信息
- 学习管理无人值守机器人池
现在,你能从“每日 PDF 归档”开始,逐步解放更多重复劳动。桌面流的学习曲线平缓,但生产力回报巨大。开始构建你的第一个自动化吧!