订阅

UiPath StudioX

UiPath StudioX 指南

教程:处理文件和文件夹

在本教程中,我们将创建一个自动化项目,将 Outlook 搜索文件夹中所有电子邮件的附件保存到名称中包含今天日期的文件夹中,并创建一个文本文件,其中将复制所有文件名。自动化程序将首先检查用于保存文件的文件夹是否已经存在,如果是这种情况,它将询问用户是否应删除并重新创建该文件夹,或者是否应在下载附件之前将内容移动到另一个文件夹中。

我们将首先添加“存在文件”活动,以检查要下载附件的文件夹是否已经存在。然后,我们将添加一个“IF 条件”活动,并在其中添加一个“创建文件夹”活动,以在该文件夹不存在时创建相应的文件夹。如果该文件夹确实存在,我们将添加一个“消息框”活动,以提示用户选择如何继续。根据用户的选择,另一个包含两组要执行的独立活动的“IF 条件”活动将紧随其后,这两组独立活动分别为删除文件夹并重新创建,及将现有文件夹移动到其他位置。接着,我们将添加活动以保存 Outlook 中的附件,然后在目标文件夹中创建两个文件夹,其中一个用于创建包含已保存文件信息的文本文件,另一个用于在向文本文件添加文件信息后移动文件。要将今天的日期添加到文件夹名称中,我们将使用项目笔记本中内置的公式。

步骤 1:在 Outlook 中创建搜索文件夹。

  1. 打开 Outlook,然后右键单击“文件夹”窗格中的“搜索文件夹”,然后选择“新建搜索文件夹”
  2. 在“新建搜索文件夹”窗口中,选择“创建自定义搜索文件夹” > “选择”
  3. 在“自定义搜索文件夹”窗口的“名称”框中输入“上周的附件”,然后选择“条件”
  4. 在“搜索文件夹条件”窗口的“消息”选项卡中,从“时间”旁边的下拉菜单中选择“已接收”和“上周”
  5. From the More Choices tab, select Only items with, and then one or more attachments from the adjacent drop-down menu.
  6. 单击“确定”三次以关闭窗口并保存搜索文件夹。

步骤 2:建立项目。

步骤 3:检查用于保存附件的文件夹是否存在。

  1. 在“活动”面板中,选择“文件”选项卡,然后双击“存在文件夹”。“存在文件夹”活动随即添加到“设计器”面板中。
  2. 在“文件夹存在”活动中:
    • 单击“文件夹路径”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入 C:\MailAttachments_,然后从文本生成器右侧的“加号”plus buttonplus button中,选择“项目笔记本(笔记)” > “Date [工作表]” > “YYYYMMDD [单元格]”。文本应如下所示:C:\MailAttachments_[Excel] Date!YYYYMMDD。单击文本生成器中的“保存”
    • 单击“输出”字段右侧的“加号”plus buttonplus button,然后选择“保存以备后用”。将值命名为 Folder 'MailAttachments' Exists,然后单击“确定”
      您已指明要检查是否存在具有今天日期的文件夹 MailAttachments,并且希望保存此验证的输出结果,以供以后在自动化中使用。

步骤 4:添加在文件夹存在和不存在时要执行的活动。

  1. 在“活动”面板中,选择“常用”选项卡,然后将“IF 条件”活动拖放到“存在文件夹”活动下方。“IF 条件”活动随即添加到“设计器”面板中。
  2. 在 If 活动中:
    • 单击“显示 Else”以添加“Else”分支。
    • 单击“条件”字段右侧的“加号”plus buttonplus button,然后选择“条件生成器”
  3. 在条件生成器中,添加条件“如果文件夹存在”:
    • 单击左侧字段右侧的“加号”plus buttonplus button,然后选择“使用保存的值” > “存在文件夹 MailAttachments”,以选择“存在文件夹”活动的输出作为要在条件中评估的值。
    • 从中间的下拉菜单中,选择“为 True”,然后单击“保存”
      如果文件夹存在,将执行在 If 活动的 Then 分支中添加的活动。如果文件夹不存在,将执行添加到 Else 分支的活动。
  4. 在“活动”面板中,选择“文件”选项卡,然后将“创建文件夹”活动拖放到 If 活动的“Else”分支中。“创建文件夹”活动随即添加到“设计器”面板中。
  5. 在“创建文件夹”活动中,单击“文件夹名称”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入 C:\MailAttachments_,然后从文本生成器右侧的“加号”plus buttonplus button,选择“项目笔记本(笔记)” > “Date [工作表]” > “YYYYMMDD [单元格]”。文本应如下所示:C:\MailAttachments_[Excel] Date!YYYYMMDD。在文本生成器中单击“保存”
    您已指明如果文件夹 MailAttachments 尚不存在,您要创建该文件夹,且名称中要包含今天的日期。
  6. 在“活动”面板中,选择“常用”选项卡,然后将“消息框”活动拖放到 If 活动的“Else”分支中。“消息框”活动随即添加到“设计器”面板中。
  7. 单击“消息框”活动右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入要显示给用户的消息,例如:
    An older MailAttachments_ folder already exists. Do you want to delete the old one and create a new one? If you choose "No", the old one will be moved to a backup folder and a new one will be created.。要将当前日期添加到文件夹名称中,请将鼠标光标放在 MailAttachments_ 后面,然后从文本生成器右侧的“加号”plus buttonplus button 选择“项目笔记本(笔记)” > “Date [工作表]” > “YYYYMMDD [单元格]”。在文本生成器中单击“保存”
  8. 选择已添加到“设计器”面板中的“消息框”活动,然后打开其“属性”面板:
    • 从“按钮”下拉菜单中,选择“是/否”
    • 单击“选择的按钮”字段右侧的“加号”plus buttonplus button,然后选择“保存以备后用”,并为该值命名,例如 ChosenButton from Message Box FolderAlreadyExists
      您已表明要通过显示带有两个按钮选项“是”和“否”的消息框来提示用户选择是否应删除该文件夹(如果该文件夹已存在)。用户的选择将被保存以供以后在自动化中使用。

步骤 5:添加当用户选择删除任何具有相同名称的现有文件夹或将其移动时执行的活动。

  1. 在“活动”面板中,选择“常用”选项卡,然后将另一个“IF 条件”活动拖放到第一个“IF 条件”活动分支的“消息框”下方。“IF 条件”活动随即添加到“设计器”面板中。
  2. 在 If 活动中:
    • 单击“显示 Else”以添加“Else”分支。
    • 单击“条件”字段右侧的“加号”plus buttonplus button,然后选择“条件生成器”
  3. In the Condition Builder, add the condition "if the user clicked Yes":
    • 单击左侧字段右侧的“加号”plus buttonplus button,然后从“消息框 FolderAlreadyExists”中选择“使用保存的值” > “选择的按钮”。这将选择用户的选择(在“消息框”活动中单击的按钮)作为要在条件中评估的值。
    • 从中间的下拉菜单中,选择“等于”
    • 单击右侧字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入Yes,然后单击两次“保存”
      如果用户单击“是”,将执行您在 If 活动的“Then”分支中添加的活动,如果用户单击“否”,则执行“Else”分支中的活动。
  4. 在“活动”面板中,选择“文件”选项卡,然后将“删除文件夹”活动拖放到第二个“IF 条件”活动的“Then”分支中。“删除文件夹”活动随即添加到“设计器”面板中。
  5. 在“删除文件夹”活动中,单击“文件夹名称”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入 C:\MailAttachments_,然后从文本生成器右侧的“加号”plus buttonplus button中,选择“项目笔记本(笔记)” > “Date [工作表]” > “YYYYMMDD [单元格]”。文本应如下所示:C:\MailAttachments_[Excel] Date!YYYYMMDD。单击文本生成器中的“保存”
    您已指明要删除名称中包含今天日期的现有文件夹 MailAttachments。
  6. 在“活动”面板中,将“创建文件夹”活动拖放到“删除文件夹”下面第二个“If”活动的 True 分支内。“创建文件夹”活动随即添加到“设计器”面板中。
  7. 在“创建文件夹”活动中,单击“文件夹名称”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入 C:\MailAttachments_,然后从文本生成器右侧的“加号”plus buttonplus button中,选择“项目笔记本(笔记)” > “Date [工作表]” > “YYYYMMDD [单元格]”。文本应如下所示:C:\MailAttachments_[Excel] Date!YYYYMMDD。单击文本生成器中的“保存”
    您已指明要新建名称中包含今天日期的“MailAttachments”文件夹。
  8. 在“活动”面板中,将“创建文件夹”活动拖放到第二个“IF 条件”活动的“Else”分支内。“创建文件夹”活动随即添加到“设计器”面板中。
  9. 在“创建文件夹”活动中,单击“文件夹名称”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入 C:\old_MailAttachments,然后单击“保存”
    您已指明要创建一个名为 old_MailAttachments 的新文件夹。
  10. 在“活动”面板中,将“移动文件夹”活动拖放到“创建文件夹”下方第二个“IF 条件”活动的“Else”分支内。“移动文件夹”活动随即添加到“设计器”面板中。
  11. 在“移动文件夹”活动中:
  • 单击“自”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入 C:\MailAttachments_,然后从文本生成器右侧的“加号”plus buttonplus button中,选择“项目笔记本(笔记)” > “Date [工作表]” > “YYYYMMDD [单元格]”。文本应如下所示:C:\MailAttachments_[Excel] Date!YYYYMMDD。单击文本生成器中的“保存”
  • 单击“至”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入 C:\old_MailAttachments,然后单击“保存”
    您已指明要将名称中包含今天日期的现有文件夹 MailAttachments 移动到名为 old_MailAttachments 的文件夹中。

步骤 6:保存 Outlook 搜索文件夹中的附件。

  1. 在“活动”面板中,选择“邮件”选项卡,然后将“使用桌面 Outlook App”活动拖放到第一个“IF 条件”活动下方,作为项目中的最后一个活动。该活动随即添加到“设计器”面板中。
  2. 在活动中,已经在“帐户”字段中选择了默认的电子邮件帐户。如果要使用其他帐户,请从下拉菜单中选择。
    在“引用为”字段中,保留默认值 Outlook 作为自动化中引用帐户时使用的名称。
  3. 在“活动”面板中,将“遍历电子邮件”活动拖放到“使用桌面 Outlook App”活动中。
  4. 在“遍历电子邮件”活动中,单击“邮件使用来源”字段右侧的“加号”plus buttonplus button,然后选择“Outlook” > “[搜索文件夹]” > “[Last week's attachments]”,以选择在该帐户 Outlook 中创建的搜索文件夹。您的选择在“邮件使用来源”字段中显示为“Last week's attachments”。
    您已指明要遍历搜索文件夹“Last week's attachments”中的电子邮件。
  5. 在“活动”面板中,将“保存电子邮件附件”活动拖放到“遍历电子邮件”活动中。
  6. 在“保存电子邮件附件”活动中:
    • 单击“来源消息”字段右侧的“加号”plus buttonplus button,然后选择“当前邮件”,指明您要保存的附件所属电子邮件是您正在迭代访问的当前电子邮件。
    • 单击“保存至文件夹”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入 C:\MailAttachments_,然后从文本生成器右侧的“加号”plus buttonplus button中,选择“项目笔记本(笔记)” > “Date [工作表]” > “YYYYMMDD [单元格]”。文本应如下所示:C:\MailAttachments_[Excel] Date!YYYYMMDD。单击文本生成器中的“保存”
      您已指明要将附件保存到名称中包含今天日期的文件夹“MailAttachments”。

步骤 7:创建文本文件,在其中添加有关文件的信息,创建子文件夹,在其中保存文本文件,然后移动附件。

  1. 在“活动”面板中,选择“文件”选项卡,然后将“创建文件夹”活动拖放到“使用桌面 Outlook App”下面,作为该项目中最后一个活动。“创建文件夹”活动随即添加到“设计器”面板中。
  2. 在“创建文件夹”活动中,单击“文件夹名称”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入 C:\MailAttachments_,然后从文本生成器右侧的“加号”plus buttonplus button中,选择“项目笔记本(笔记)” > “Date [工作表]” > “YYYYMMDD [单元格]”,然后输入 \Output。文本应如下所示:C:\MailAttachments_[Excel] Date!YYYYMMDD\Output。单击文本生成器中的“保存”
    您已指明要在 MailAttachments 文件夹中创建一个名为 Output 的子文件夹。
  3. 在“活动”面板中,将“创建文件”活动拖放到最后一个“创建文件夹”下方。
  4. 在“创建文件夹”活动中,单击“文件位置”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入 C:\MailAttachments_,然后从文本生成器右侧的“加号”plus buttonplus button中,选择“项目笔记本(笔记)” > “Date [工作表]” > “YYYYMMDD [单元格]”,然后输入 \Output\AttachmentsDetails.txt。文本应如下所示:C:\MailAttachments_[Excel] Date!YYYYMMDD\Output\AttachmentsDetails.txt。单击文本生成器中的“保存”
    您已指明要在 Output 子文件夹中创建一个名为 AttachmentsDetails.txt 的文件。
  5. 在“活动”面板中,将“写入文本文件”活动拖放到“创建文件”活动下方。“写入文本文件”活动随即添加到“设计器”面板中。
  6. 在“写入文本文件”活动中:
    • 单击“文本”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入 Files received in the last week:。在文本生成器中单击“保存”
    • 单击“写入文件名”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入 C:\MailAttachments_,然后从文本生成器右侧的“加号”plus buttonplus button,选择“项目笔记本(笔记)” > “Date [工作表]” > “YYYYMMDD [单元格]”,然后输入 \Output\AttachmentsDetails.txt。文本应如下所示:C:\MailAttachments_[Excel] Date!YYYYMMDD\Output\AttachmentsDetails.txt。在文本生成器中单击“保存”
      您已指明要在文件 AttachmentsDetails.txt 中输入文本“上周收到的文件:”。
  7. 在“活动”面板中,将“创建文件夹”活动拖放到“写入文本文件”活动下方。“创建文件夹”活动随即添加到“设计器”面板中。
  8. 在“创建文件夹”活动中,单击“文件夹名称”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入 C:\MailAttachments_,然后从文本生成器右侧的“加号”plus buttonplus button中,选择“项目笔记本(笔记)” > “Date [工作表]” > “YYYYMMDD [单元格]”,然后输入 \Processed。文本应如下所示:C:\MailAttachments_[Excel] Date!YYYYMMDD\Processed。单击文本生成器中的“保存”
    您已指明要在“MailAttachments”文件夹中创建一个名为“Processed”的子文件夹。

步骤 8:遍历文件,将有关每个文件的信息添加到文本文件,然后将每个文件移至“已处理”子文件夹。

  1. 在“活动”面板中,将“遍历文件夹中的文件”活动拖放到最后一个“创建文件夹”活动下方。“遍历文件夹中的文件”活动随即添加到“设计器”面板中。
  2. 在“遍历文件夹中的文件”活动中,单击“文件夹”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入 C:\MailAttachments_,然后从文本生成器右侧的“加号”plus buttonplus button中,选择“项目笔记本(笔记)” > “Date [工作表]” > “YYYYMMDD [单元格]”。文本应如下所示:C:\MailAttachments_[Excel] Date!YYYYMMDD\Output。单击文本生成器中的“保存”
    您已指明要迭代访问“MailAttachments”文件夹中的文件。
  3. 在“活动”面板中,将“附加行”活动拖放到“遍历文件夹中的文件”活动中。“附加行”活动随即添加到“设计器”面板中。
  4. 在“附加范围”活动中:
    • 单击“文本”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入 FileName:,然后从文本生成器右侧的“加号”plus buttonplus button,选择“当前文件” > “名称”,然后输入 | LastModifiedDate:,然后从文本生成器右侧的“加号”plus buttonplus button,选择“当前文件” > “最后修改日期”。文本应如下所示: FileName: [CurrentFile] Name | LastModifiedDate: [CurrentFile] LastModifiedDate。在文本生成器中单击“保存”
    • 单击“写入文件名”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入 C:\MailAttachments_,然后从文本生成器右侧的“加号”plus buttonplus button中,选择“项目笔记本(笔记)” > “Date [工作表]” > “YYYYMMDD [单元格]”,然后输入 \Output\AttachmentsDetails.txt。文本应如下所示:C:\MailAttachments_[Excel] Date!YYYYMMDD\Output\AttachmentsDetails.txt。单击文本生成器中的“保存”
      您已指明要在当前迭代访问的当前文件的 AttachmentsDetails.txt 文件中输入文件名和文件的修改时间。
  5. 在“活动”面板中,将“移动文件”活动拖放到“遍历文件夹中的文件”活动中“附加行”下方。“移动文件”活动随即添加到“设计器”面板中。
  6. 在“移动文件”活动中:
    • 单击“发件人”字段右侧的“加号”plus buttonplus button,然后选择“当前文件” > “完整路径”
    • 单击“至”字段右侧的“加号”plus buttonplus button,然后选择“文本”。在文本生成器中,输入 C:\MailAttachments_,然后从文本生成器右侧的“加号”plus buttonplus button中选择“项目笔记本(笔记)” > “Date [工作表]” > “YYYYMMDD [单元格]”,接着输入 \Processed。文本应如下所示:C:\MailAttachments_[Excel] Date!YYYYMMDD\Processed。单击文本生成器中的“保存”
      您已指明要将正在遍历访问的当前文件移动到“Processed”子文件夹中。
  1. 在 StudioX 功能区中单击“保存”,以保存自动化,然后单击“运行”来执行此自动化。

Outlook 搜索文件夹中的附件将保存到“邮件附件”文件夹,在“输出”子文件夹中创建一个文本文件,其中包含有关文件的信息,然后将这些文件移动到“已处理”子文件夹中。如果您再次运行该项目,由于该文件夹是在第一次运行时创建的,系统会提示您选择要对现有文件夹执行的操作,然后再执行其他活动。

下载示例

9个月前更新


另请参阅

教程

教程:处理文件和文件夹


建议的编辑仅限用于 API 参考页面

You can only suggest edits to Markdown body content, but not to the API spec.