文件操作
重要提示
为防止未经授权的访问,Windows 需要管理员权限才能访问受保护的文件。 要使用文件操作访问这些资源,请以管理员权限运行 Power Automate。 有关以管理员身份运行 Power Automate 的详细信息,请转到以提升的权限运行 Power Automate。
处理文件及其内容对于大多数自动化场景都是必不可少的。 您可以使用文件操作管理文件、检索文件属性、读取和写入数据以及将其转换为其他类型。
大多数文件操作都需要指定要操作的文件的路径。 这些路径可以是硬编码值或文件数据类型变量。
备注
要作为输入提供多个文件,使用列表变量和文件项。 创建文件列表的方法是获取文件夹中的文件操作。
同样,您可以填充硬编码值或文件夹数据类型变量,来在需要的操作中指定目标文件夹。
有些文件操作提供广泛的配置,让您几乎可以自动化任何场景。 例如,重命名文件操作包括设置新名称或在现有文件名中添加、替换或删除文本字符串的选项。
要追加文本内容或覆盖文本文件,部署将文本写入文件操作。 要读取文本文件的内容,使用从文件读取文本操作。
同样,如果您需要将内容读取或写入到 CSV 文件,使用从 CSV 文件读取和写入 CSV 文件操作。 您可以在将 CSV 文件转换为 Excel 电子表格中找到处理 CSV 文件的示例桌面流。
如果要检查特定文件夹中是否存在某个文件,使用如果文件存在操作。 此操作是有条件的,允许您根据文件是否存在来运行不同的代码块。 要查找有关条件的详细信息,请转到使用条件。
如果文件存在
根据文件是否存在,标记条件操作块的开头。
输入参数
参数 | 可选 | 接受 | 默认值 | 说明 |
---|---|---|---|---|
If file | 不适用 | 存在、不存在 | 存在 | 要检查的文件的状态 |
文件路径 | 否 | 文件 | 用于查找文件的完整路径 |
生成的变量
此操作不会生成任何变量。
异常
此操作不包含任何例外。
等待文件
挂起自动执行的操作,直到创建或删除文件为止。
输入参数
参数 | 可选 | 接受 | 默认值 | 说明 |
---|---|---|---|---|
Wait for file to be | 不适用 | 已创建、已删除 | 创建日期 | 指定是否在创建或删除特定文件时暂停流程 |
文件路径 | 否 | 文件 | 用于查找文件的完整路径 |
生成的变量
此操作不会生成任何变量。
异常
此操作不包含任何例外。
复制文件
将一个或多个文件复制到目标文件夹。
输入参数
参数 | 可选 | 接受 | 默认值 | 说明 |
---|---|---|---|---|
File(s) to copy | 否 | 文件列表 | 要复制的文件。 此值可以是文件路径,也可以是包含文件、文件列表、文本路径或文本路径列表的变量。 使用“获取文件夹中的文件”操作可通过文件列表填充变量。 | |
目标文件夹 | 否 | 文件夹 | 复制的文件的目标文件夹 | |
If file exists | 不适用 | 不执行任何操作、覆盖 | 不执行任何操作 | 指定当目标文件夹中已存在同名的文件时要执行的操作 |
生成的变量
参数 | 类型 | 说明 |
---|---|---|
CopiedFiles | 文件列表 | 作为文件列表的复制文件 |
异常
例外 | 描述 |
---|---|
源文件夹不存在 | 指示源文件夹不存在 |
目标文件夹不存在 | 指示目标文件夹不存在 |
未找到文件 | 指示文件不存在 |
无法复制文件 | 指示复制文件时出现问题 |
移动文件
将一个或多个文件移动到目标文件夹。
输入参数
参数 | 可选 | 接受 | 默认值 | 说明 |
---|---|---|---|---|
File(s) to move | 否 | 文件列表 | 要移动的文件。 此值可以是文件路径,也可以是包含文件、文件列表、文本路径或文本路径列表的变量。 使用“获取文件夹中的文件”操作可通过文件列表填充变量。 | |
目标文件夹 | 否 | 文件夹 | 移动的文件的目标文件夹 | |
If file exists | 不适用 | 不执行任何操作、覆盖 | 不执行任何操作 | 指定当目标文件夹中已存在同名的文件时要执行的操作 |
生成的变量
参数 | 类型 | 说明 |
---|---|---|
MovedFiles | 文件列表 | 作为文件列表的移动的文件 |
异常
例外 | 描述 |
---|---|
源文件夹不存在 | 指示源文件夹不存在 |
目标文件夹不存在 | 指示目标文件夹不存在 |
未找到文件 | 指示文件不存在 |
无法移动文件 | 指示移动文件时出现问题 |
删除文件
删除一个或多个文件。
输入参数
参数 | 可选 | 接受 | 默认值 | 说明 |
---|---|---|---|---|
File(s) to delete | 否 | 文件列表 | 要删除的文件。 此值可以是文件路径,也可以是包含文件、文件列表、文本路径或文本路径列表的变量。 使用“获取文件夹中的文件”可通过文件列表填充变量 |
生成的变量
此操作不会生成任何变量。
异常
例外 | 说明 |
---|---|
文件路径不存在 | 指示文件路径不存在 |
未找到文件 | 指示文件不存在 |
无法删除文件 | 指示删除文件时出现问题 |
重命名文件
更改一个或多个文件的名称。
输入参数
参数 | 可选 | 接受 | 默认值 | 说明 |
---|---|---|---|---|
要重命名的文件 | 否 | 文件列表 | 要重命名的文件。 此值可以是文件路径,也可以是包含文件、文件列表、文本路径或文本路径列表的变量。 使用“获取文件夹中的文件”操作可通过文件列表填充变量。 | |
Add number to | 不可用 | 布尔值 | TRUE | 指定是将号码添加到现有的文件名还是新名称中 |
Rename scheme | 不适用 | 设置新名称、添加文本、删除文本、替换文本、更改扩展名、添加日期/时间、创建序列 | 设置新名称 | 指定重命名文件的方式 |
New file name | 否 | 文本值 | 文件的新名称 | |
New extension | 是 | 文本值 | 要作为文件的新扩展名添加的文本 | |
New file name | 否 | 文本值 | 文件的新名称 | |
Add number to | 不适用 | 名称后、名称前 | 名称后 | 指定是将号码添加到原始名称之前,还是原始名称之后,抑或是添加到新的基名称 |
Text to add | 是 | 文本值 | 要添加到原始文件名的文本 | |
Text to remove | 是 | 文本值 | 要从原始文件名中删除的文本。 该重命名方案会搜索每个文件名,只要名称中出现所输入的文本即将该文本删除。 | |
Text to replace | 否 | 文本值 | 要在原始文件名中替换的文本。 该重命名方案会搜索每个文件名,只要名称中出现所输入的文本即将该文本进行替换 | |
Use custom datetime | 不适用 | 布尔值 | 假 | 指定是否使用自定义日期/时间 |
Datetime to add | 不适用 | 当前日期/时间、创建时间、上次访问时间、上次修改时间 | 当前日期/时间 | 指定要添加到文件名中的日期/时间值 |
Keep extension | 不适用 | 布尔值 | 真 | 指定是否在文件名中包含前一个扩展名。 禁用此选项可手动为文件添加扩展名。 |
Replace with | 是 | 文本值 | 用于替换原始文本的文本 | |
Start numbering at | 否 | 数值 | 起始号码值 | |
Add text | 不适用 | 名称后、名称前 | 名称后 | 指定是将文本添加到原始名称之前,还是原始名称之后 |
Custom datetime | 否 | 日期/时间 | 要添加到文件名的日期/时间 | |
Increment by | 否 | 数值 | 从起始值递增的增量数值 | |
Add datetime | 不适用 | 名称后、名称前 | 名称后 | 指定是将日期/时间添加到原始名称之前,还是原始名称之后 |
Separator | 不适用 | 无、空格、短划线、句点、下划线 | 空格 | 指定用于区分原始文件名与已添加号码的方式,包括不使用分隔符的选项 |
Separator | 不适用 | 无、空格、短划线、句点、下划线 | 空格 | 指定用于区分原始文件名与已添加的日期/时间值的方式,包括不使用分隔符的选项 |
Use padding | 不适用 | 布尔值 | False | 指定是否使用填充 |
日期/时间格式 | 否 | 文本值 | yyyyMMdd | 要添加到文件名的日期/时间值的格式,如日期为 MM/dd/yyyy,时间为 hh:MM:sstt |
Make each number at least | 是 | 数值 | 3 | 每个已添加号码的最小长度 |
If file exists | 不适用 | 不执行任何操作、覆盖 | 不执行任何操作 | 指定当文件夹中已存在同名的文件时要执行的操作 |
生成的变量
参数 | 类型 | 说明 |
---|---|---|
RenamedFiles | 文件列表 | 作为文件列表的重命名的文件 |
异常
例外 | 描述 |
---|---|
找不到目录 | 指示未找到目录 |
未找到文件 | 指示文件不存在 |
无法重命名文件 | 指示重命名文件时出现问题 |
从文件读取文本
读取文本文件的内容。
输入参数
参数 | 可选 | 接受 | 默认值 | 说明 |
---|---|---|---|---|
File path | 否 | 文件 | 要读取的文件 | |
Store content as | 不适用 | 单个文本值、列表(每项均为列表项) | 单个文本值 | 指定存储文本的方式。 选择“单个文本值”可将整个文本存储为单个文本值。 选择“列表”可将原始文本的每一行存储为列表中的文本项。 |
编码 | 不可用 | 系统默认值、ASCII、Unicode、Unicode (big-endian)、UTF-8 | UTF-8 | 用于从文本文件中读取指定文本的编码。 |
生成的变量
参数 | 类型 | 说明 |
---|---|---|
FileContents | 文本值 | 作为文本的内容 |
FileContents | 文本值列表 | 作为文本列表的内容 |
异常
例外 | 描述 |
---|---|
找不到目录 | 指示未找到目录 |
未找到文件 | 指示文件不存在 |
无法从文件中读取 | 指示从文件读取时出现问题 |
将文本写入文件
向文件写入或追加文本。
输入参数
参数 | 可选 | 接受 | 默认值 | 说明 |
---|---|---|---|---|
文件路径 | 否 | 文件 | 要写入文本的文件。 此值可以是文件路径,也可以是包含文件或文本路径的变量。 | |
Text to write | 是 | 常规值 | 要在指定文件中写入的文本 | |
Append new line | 不适用 | 布尔值 | 真 | 指定是否在要写入文件的整体文本末尾追加新行 |
If file exists | 不适用 | 覆盖现有内容、追加内容 | 覆盖现有内容 | 指定是覆盖现有内容,还是追加到现有内容的末尾。 如果该文件不存在,此操作会自动创建文件。 |
编码 | 不可用 | 系统默认值、ASCII、Unicode、Unicode (big-endian)、UTF-8、Unicode(不带字节顺序标记)、UTF-8(不带字节顺序标记) | Unicode | 用于将指定文本写入文本文件的编码 |
生成的变量
此操作不会生成任何变量。
异常
例外 | 说明 |
---|---|
无法将文本写入文件 | 指示写入文件时出现问题 |
文件目录无效 | 指示目录无效 |
从 CSV 文件读取
将 CSV 文件读入数据表。
您可以使用从 CSV 文件读取操作来创建包含文件内容的数据表变量。 您需要定义 CSV 文件的路径和用于读取它的编码,同时您还可以从提取的单元格中修剪任何空白,将第一行作为列标题处理,并指定列分隔符。
输入参数
参数 | 可选 | 接受 | 默认值 | 说明 |
---|---|---|---|---|
文件路径 | 否 | 文件 | 要读取的 CSV 文件。 此值可以是文件路径,也可以是包含文件或文本路径的变量 | |
Encoding | 不适用 | UTF-8、Unicode、Unicode (big-endian)、UTF-8(不带字节顺序标记)、Unicode(不带字节顺序标记)、系统默认值、ASCII | UTF-8 | 用于读取指定的 CSV 文件的编码 |
Trim fields | 不可用 | 布尔值 | 真 | 指定是否自动剪裁提取的单元格的前导空格和尾随空格 |
First line contains column names | 不适用 | 布尔值 | 假 | 指定是否使用 CSV 资源的第一行来设置所生成的数据表变量的列名。 启用此选项可避免将名称作为数据读入表中。 后续操作中可能会使用列名(而不是列号)来访问数据表所包含的数据。 |
Columns separator | 不可用 | 预定义、自定义、固定列宽 | 预定义 | 指定是否使用预定义的列分隔符、自定义分隔符或固定列宽 |
Separator | 不适用 | 系统默认值、逗号、分号、制表符 | 系统默认值 | 用于分析 CSV 文件的列分隔符 |
Custom separator | 否 | 文本值 | 用于分析指定的 CSV 资源的自定义列分隔符 | |
Fixed column widths | 否 | 文本值 | 用于分析指定的 CSV 资源的固定列宽。 各宽度使用逗号、空格、选项卡或换行符进行分隔。 |
生成的变量
参数 | 类型 | 说明 |
---|---|---|
CSVTable | 数据表 | 作为数据表的 CSV 文件的内容 |
异常
例外 | 描述 |
---|---|
从 CSV 读取失败 | 指示从 CSV 文件读取时出现问题 |
写入 CSV 文件
将数据表、数据行或列表写入 CSV 文件。
使用写入 CSV 文件操作将数据表、数据行或列表变量写入目标 CSV 文件。 在文件路径参数中,指定包含数据将导出到的文件或文本路径的文件路径或变量。
输入参数
参数 | 可选 | 接受 | 默认值 | 说明 |
---|---|---|---|---|
Variable to write | 否 | 常规值 | 要写入目标 CSV 文件的数据表、数据行变量或列表变量 | |
文件路径 | 否 | 文件 | 要将变量导出到的 CSV 文件。 此值可以是文件路径,也可以是包含文件或文本路径的变量。 | |
编码 | 不可用 | UTF-8、Unicode、Unicode (big-endian)、UTF-8(不带字节顺序标记)、Unicode(不带字节顺序标记)、系统默认值、ASCII | UTF-8 | 用于写入指定的 CSV 文件的编码 |
Include column names | 不适用 | 布尔值 | 假 | 指定是否应将指定变量的列名作为 CSV 文件的第一行。 仅当目标 CSV 文件最初不存在,或存在但文本为空时,此选项才生效。 |
如果文件存在 | 不可用 | 覆盖现有内容、追加内容 | 覆盖现有内容 | 指定当目标 CSV 文件已存在于文件系统中时所需的行为 |
Separator | 不适用 | 系统默认值、逗号、分号、制表符 | 系统默认值 | 要在指定的 CSV 文件中使用的列分隔符 |
Custom columns separator | 否 | 文本值 | 要在 CSV 文件中使用的自定义列分隔符 | |
Use custom columns separator | 不适用 | 布尔值 | 假 | 指定使用自定义的列分隔符,还是预定义的分隔符 |
生成的变量
此操作不会生成任何变量。
异常
例外 | 说明 |
---|---|
写入失败 | 指示写入 CSV 文件时出现问题 |
获取文件路径部分
从表示文件路径的文本中检索一个或多个部分(目录、文件名、扩展名等)。
输入参数
参数 | 可选 | 接受 | 默认值 | 说明 |
---|---|---|---|---|
文件路径 | 否 | 文件 | 用作源的文件路径 |
生成的变量
参数 | 类型 | 说明 |
---|---|---|
RootPath | 文件 | 源文件的根路径 |
Directory | 文件夹 | 源文件的目录 |
FileName | 文本值 | 源文件的名称 |
FileNameNoExtension | 文本值 | 源文件的文件名(不带扩展名) |
FileExtension | 文本值 | 源文件的扩展名(例如 .doc) |
异常
例外 | 描述 |
---|---|
文件路径包含无效字符 | 指示文件路径不存在 |
获取临时文件
在磁盘上创建具有唯一名称的空临时文件,并获取文件对象(这是一种表示形式,可以访问该文件及其所有信息)。
输入参数
此操作不需要任何输入。
生成的变量
参数 | 类型 | 说明 |
---|---|---|
TempFile | 文件 | 临时文件对象 |
异常
例外 | 描述 |
---|---|
无法创建临时文件 | 指示创建临时文件时出现问题 |
将文件转换为 Base64
将文件转换为 Base64 编码文本。
输入参数
参数 | 可选 | 接受 | 默认值 | 说明 |
---|---|---|---|---|
文件路径 | 否 | 文件 | 要从其读取的文件路径 |
生成的变量
参数 | 类型 | 说明 |
---|---|---|
Base64Text | 文本值 | Base64 编码文本 |
异常
例外 | 说明 |
---|---|
未找到文件 | 指示文件不存在 |
无法将文件转换为 Base64 | 表示提供的文件无法转换为 Base64 编码的文本 |
将 Base64 转换为文件
将 Base64 编码文本转换为文件。
输入参数
参数 | 可选 | 接受 | 默认值 | 说明 |
---|---|---|---|---|
Base64 编码文本 | 否 | 文本值 | Base64 编码文本 | |
文件路径 | 否 | 文件 | 要写入的文件 | |
如果文件存在 | 不可用 | 不执行任何操作、覆盖 | 不执行任何操作 | 指定当目标文件夹中已存在同名的文件时要执行的操作 |
生成的变量
此操作不会生成任何变量。
异常
例外 | 说明 |
---|---|
文件目录无效 | 指示目录无效 |
无法将 Base64 转换为文件 | 表示提供的 Base64 编码的文本无法转换为文件 |
将文件转换为二进制数据
将文件转换为二进制数据。
输入参数
参数 | 可选 | 接受 | 默认值 | 说明 |
---|---|---|---|---|
文件路径 | 否 | 文件 | 要读取的文件 |
生成的变量
参数 | 类型 | 说明 |
---|---|---|
BinaryData | 文本值 | 要写入的二进制数据 |
异常
例外 | 说明 |
---|---|
未找到文件 | 指示文件不存在 |
无法将文件转换为二进制数据 | 指示提供的文件无法转换为二进制数据 |
将二进制数据转换为文件
将二进制数据转换为文件。
输入参数
参数 | 可选 | 接受 | 默认值 | 说明 |
---|---|---|---|---|
二进制数据 | 否 | 文本值 | 二进制数据 | |
文件路径 | 否 | 文件 | 要写入的文件 | |
如果文件存在 | 不可用 | 不执行任何操作、覆盖 | 不执行任何操作 | 指定当目标文件夹中已存在同名的文件时要执行的操作 |
生成的变量
此操作不会生成任何变量。
异常
例外 | 说明 |
---|---|
文件目录无效 | 指示目录无效 |
无法将二进制文件转换为文件 | 指示无法将提供的二进制数据转换为文件 |