环境
UiPath Studio Community 2022.4.3
Windows
C#
定义
这是一种控制流语句,可以根据特定表达式的值执行多组语句中的一组。换句话说,如果我们至少需要处理 3 种可能的操作过程,则可以使用切换而是 If 条件语句。这可以通过条件判断来实现,就像在 If 条件语句中一样,只不过它的条件不是布尔值,而是多个值。
业务场景
- 发票有 3 种可能的状态(未开始、待处理、已批准),并且每一种状态下的发票有 3 组操作
- 根据特定条件自动向 4 家供应商订购原材料的过程
实现方式
首先我们准备以下文件和文件夹:
在序列工作流中,我们使用“遍历循环”活动遍历源文件夹中的每个文件,方法是使用 (new DirectoryInfo(filePath)).GetFiles(),并执行以下活动:
- 将文件信息分配给新创建的文件信息变量
- 将文件名分配给字符串变量,方法是将file.Name应用于文件信息变量
- 在案例之间切换,这些案例是由通过使用“Substring”方法分隔文件名 fileName.Substring(fileName.Length - 7,3)的扩展名前的3 个字符所生成,并通过使用“移动文件”活动复制相应文件夹中的文件。
For Each活动细节如下:
在序列工作流中,流程图在流程图中,已经重用大多数活动且应用一些更改,并且还引入两个新活动:
- 我们创建了 2 个其他变量 - 字符串数组,用于存储文件名;Int32 变量用作索引以遍历数组并替换“遍历循环”活动
- The “流程切换”活动看起来不同,但功能相同
- 使用“流程切换”活动检查文件并将其移动到相应文件夹后,将使用 “流程决策” 活动检查索引变量的值是否等于数组的索引。如果索引变量的值小于数组的索引,则索引变量增加 1,然后重复该过程。
最后,我们得到的结果如下图:
待处理文件夹
未开始文件夹
已批准文件夹