- 概述
- 应用程序事件
- 流程图生成器
- 标注
- 复杂场景
- 凭据
- Data Service
- 表单
- FTP
- IPC
- Automation Ops 管道
- 暂留
- 系统
- 发行说明
- 项目兼容性
- 受支持的字符编码
- “正则表达式构建器”向导
- 添加数据列
- 添加数据行
- 添加日志字段
- 加减日期
- 添加事务项目
- 添加队列项目
- 将项目附加至集合
- 将项目附加至列表
- 附加行
- 提示音
- 中断/退出循环
- 浏览文件
- 浏览文件夹
- 构建集合
- 构建数据表
- 批量添加队列项目
- 更改文本大小写
- 更改类型
- 检查 False
- 检查 True
- 清除数据表
- 从集合到数据表
- 注释
- 压缩文件/Zip 文件
- 复制文件
- 复制文件夹
- 合并文本
- 注释掉/禁用的活动
- 继续/跳过当前
- 创建文件
- 创建文件夹
- 创建列表
- 自定义输入
- 删除
- 删除文件
- 删除文件夹
- 删除存储文件
- 删除队列项目
- 禁用本地触发器
- Do While 循环
- 从 URL 下载文件
- 下载存储文件
- 启用本地触发器
- 评估业务规则
- 存在于集合中
- 提取/解压缩文件
- 从文本中提取日期和时间
- 提取文本
- 文件更改触发器
- 文件已存在
- 筛选集合
- 筛选数据表
- 文件夹存在
- 遍历循环
- 适用于文件夹中的每个文件
- 文件更改触发器 v3
- 查找和替换
- 查找匹配模式
- 对于文件夹中的每个文件夹
- 对于数据表中的每一行
- 将日期格式设置为文本
- 为值添加格式
- 从文本中生成数据表
- 获取资产
- 获取凭据/获取 Orchestrator 凭据
- 获取当前作业信息
- 获取环境文件夹
- 获取环境变量
- 获取文件信息
- 获取文件夹信息
- 获取作业
- 获取进程
- 获取行项目
- 获取密码
- 获取事务项目
- 获取用户名/密码
- 获取队列项目
- 全局变量更改触发器
- 输入对话框
- 调用代码
- 调用 COM 方法
- 调用 PowerShell
- 调用流程
- 调用 VBScript
- 调用工作流文件
- 是否为文本匹配
- 联接数据表
- 终止进程
- 启动工作流交互
- 列出存储文件
- 日志消息
- 查找数据表
- 手动触发器
- 合并集合
- 合并数据表
- 消息框
- 修改日期
- 修改文本
- 移动文件
- 移动文件夹
- 多重分配
- 向队列新增项目
- 通知全局变量已更改
- Orchestrator HTTP 请求
- 输出数据表
- 并行
- 并行的遍历循环
- 存在路径
- 推迟事务项目
- 流程终止触发器
- 流程启动触发器
- 流程跟踪作用域
- 发出警示
- 读取列表项目
- 读取文本文件
- 读取存储文本
- 删除数据列
- 删除数据行
- 删除重复行
- 从集合中删除
- 删除日志字段
- 替换匹配模式
- 重复次数
- 重复触发器
- 重命名文件
- 重命名文件夹
- 报告状态
- 重置计时器
- 恢复计时器
- 重试作用域
- 返回
- 运行本地触发器
- 运行代理
- 运行作业
- 运行并行流程
- 设置资产
- 发送电子邮件通知
- 设置凭据
- 设置环境变量
- 设置密码
- 设置任务状态
- 设置追踪状态
- 设置事务进度
- 设置事务状态
- 应停止
- 拆分文本
- 数据表排序
- 启动计时器
- 开始作业
- 停止作业
- 停止本地触发器
- 停止计时器
- 左侧/右侧的文本
- 要大写/小写的文本
- 时间触发器
- 触发器作用域
- 跟踪对象
- 超时作用域
- 更新行项目
- 更新列表项目
- 上传存储文件
- 等待下载
- 等待队列项目
- 先条件循环
- 工作流占位符
- 写入存储文本
- 写入文本文件
- 添加数据行
- AddQueueItem
- 添加事务项目
- 附加行
- BulkAddQueueItems
- 清除数据表
- 压缩 Zip 文件
- 复制文件
- 创建文件
- 创建文件夹
- 删除文件或文件夹
- 删除队列项目
- 删除存储文件
- 下载存储文件
- 提取解压缩文件
- 筛选数据表
- 获取资产
- 获取凭据
- GetJobs
- 获取队列项目
- GetQueueItems
- 获取本地路径的资源
- 获取行项目
- 获取事务项目
- 调用流程
- 联接数据表
- 列出存储文件
- 查找数据表
- 合并数据表
- 移动文件
- Orchestrator HTTP 请求
- OutputDataTable
- 存在路径
- 推迟事务项目
- 读取存储文本
- 读取文本文件
- 删除数据列
- 删除重复行
- 替换
- 设置资产
- 设置凭据
- SetTransactionProgress
- 设置事务状态
- 数据表排序
- 开始作业
- 停止作业
- 更新行项目
- 上传存储文件
- 等待队列项目
- 写入存储文本
- 写入文本文件
- 测试
- 发行说明
- 关于“测试”活动包
- 项目兼容性
- 项目设置
- Address
- AddTestDataQueueItem
- AttachDocument
- BulkAddTestDataQueueItems
- DeleteTestDataQueueItems
- GetTestDataQueueItem
- GetTestDataQueueItems
- GivenName
- LastName
- RandomDate
- RandomNumber
- RandomString
- RandomValue
- VerifyAreEqual
- VerifyAreNotEqual
- VerifyContains
- VerifyExpression
- VerifyExpressionWithOperator
- VerifyIsGreater
- VerifyIsGreaterOrEqual
- VerifyIsLess
- VerifyIsLessOrEqual
- VerifyIsRegexMatch
- VerifyRange
- Workflow Foundation

工作流活动
获取环境文件夹
UiPath.Core.Activities.GetEnvironmentFolder
Use this activity to retrieve the path to system special folders (such as Desktop, Documents, AppData, etc.) using .NET's Environment.SpecialFolder enumeration. Understanding the platform-specific behavior is essential for building reliable cross-platform automation workflows.
The SpecialFolder enumeration is consistent across platforms, but the actual folder mappings and availability differ significantly between Windows and cross-platform environments. Many Windows-specific folders return an empty string on Linux/macOS.
属性
常见
- “显示名称”- 活动的显示名称。
输入
- SpecialFolder - The SpecialFolder whose path is to be retrieved. Select from the available
Environment.SpecialFolderenumeration values.
输出
- FolderPath - The full folder path of the selected SpecialFolder. Returns an empty string if the folder is not available on the current platform.
其他
- “私有”- 选中后将不再以“Verbose”级别记录变量和参数的值。
Platform-specific behavior
Windows environment
When running on Windows:
- All standard special folders resolve to their expected Windows paths (e.g.,
Desktop,ProgramFiles,System,ApplicationData). - Windows-only folders such as
ProgramFiles,ProgramFilesX86,Windows,AdminTools, andCommonProgramFilesreturn valid paths. - Folders typically resolve to locations under
C:\Users\<username>or system directories likeC:\Windows.
Cross-platform environment
When running on Linux or macOS:
- Only a subset of special folders resolve to valid paths; many Windows-specific folders return an empty string.
- Folder paths follow XDG Base Directory specifications on Linux (using environment variables like
$XDG_CONFIG_HOME,$XDG_DATA_HOME) and macOS conventions. - The activity never creates directories; it only resolves known locations based on the operating system.
- If a folder cannot be resolved on the current platform, the activity returns an empty string (not null) and does not throw an exception.
Common folder mappings
Cross-platform folders
These folders typically resolve on both Windows and cross-platform environments:
- UserProfile - Windows:
C:\Users\<user>, Linux/macOS:$HOME - Desktop - Windows:
C:\Users\<user>\Desktop, Linux/macOS:~/Desktop(if present) - MyDocuments - Windows:
C:\Users\<user>\Documents, Linux/macOS:~/Documents(if present) - ApplicationData - Windows:
%APPDATA%(Roaming), Linux/macOS:~/.config(XDG) - LocalApplicationData - Windows:
%LOCALAPPDATA%, Linux/macOS:~/.local/share(XDG)
Windows-only folders
These folders return valid paths on Windows but typically return an empty string on Linux/macOS:
- ProgramFiles, ProgramFilesX86 - Windows program installation directories
- System, SystemX86, Windows - Windows system directories
- CommonApplicationData - Windows:
%PROGRAMDATA%, Linux/macOS: empty string - CommonProgramFiles, CommonProgramFilesX86 - Shared program files
- AdminTools, Templates, Favorites, Recent, SendTo, StartMenu, Startup - Windows shell folders
Platform-specific considerations
- Fonts - Windows:
%WINDIR%\Fonts, macOS:/System/Library/Fonts(system) or/Library/Fonts(user), Linux: varies by distribution, often returns empty string - Desktop, MyDocuments - May return empty string if the directory doesn't exist in the user profile, even on platforms where they are expected
最佳实践
- Always validate the result: Check for
string.IsNullOrEmpty(folderPath)before using the returned path, as many folders may not exist on certain platforms. - For cross-platform workflows: Prefer using
UserProfile,ApplicationData, orLocalApplicationDatafor storing application data, as these have consistent mappings across platforms. - Avoid Windows-only folders: Don't rely on folders like
ProgramFiles,System, orWindowsin cross-platform workflows, as they will return empty strings on Linux/macOS. - Handle missing directories: The activity does not create directories. If you need to write to a special folder, verify it exists and create it if necessary.
- Test on target platforms: Folder availability can vary based on user profile configuration, especially for presence-sensitive folders like Desktop and Documents.
- Containerized environments: Be aware that containerized or restricted environments may return empty strings for more folders due to missing or inaccessible paths.
返回值
- Returns the full folder path as a string if the special folder is available on the current platform.
- Returns an empty string (
string.Empty) if the folder cannot be resolved on the current platform. - Never returns null and does not throw exceptions for unsupported folders.
示例场景
Scenario 1: Retrieving UserProfile
- Windows: Returns
C:\Users\<username> - Linux/macOS: Returns
/home/<username>or/Users/<username>
Scenario 2: Retrieving ProgramFiles
- Windows: Returns
C:\Program Files - Linux/macOS: Returns empty string
Scenario 3: Retrieving ApplicationData
- Windows: Returns
C:\Users\<username>\AppData\Roaming - Linux/macOS: Returns
~/.config(XDG specification)
Scenario 4: Retrieving Desktop when folder doesn't exist
- All Platforms: Returns empty string if the Desktop folder is not present in the user profile
- 属性
- Platform-specific behavior
- Windows environment
- Cross-platform environment
- Common folder mappings
- Cross-platform folders
- Windows-only folders
- Platform-specific considerations
- 最佳实践
- 返回值
- 示例场景
- Scenario 1: Retrieving UserProfile
- Scenario 2: Retrieving ProgramFiles
- Scenario 3: Retrieving ApplicationData
- Scenario 4: Retrieving Desktop when folder doesn't exist