activities
latest
false
重要 :
请注意,此内容已使用机器翻译进行了部分本地化。 新发布内容的本地化可能需要 1-2 周的时间才能完成。
UiPath logo, featuring letters U and I in white

工作流活动

上次更新日期 2026年3月13日

获取环境文件夹

UiPath.Core.Activities.GetEnvironmentFolder

此活动可借助 .NET 的Environment.SpecialFolder枚举检索系统特殊文件夹(如Desktop、Documents、AppData 等)的路径。了解特定于平台的行为对于构建可靠的跨平台自动化工作流至关重要。

备注:

特殊文件夹枚举在各平台上保持一致,但 Windows 与跨平台环境之间实际的文件夹映射和可用性存在显着差异。许多 Windows 特定文件夹在 Linux/macOS 上返回空字符串。

属性

常见
  • “显示名称”- 活动的显示名称。
输入
  • “特殊文件夹” - 要检索其路径的特殊文件夹。从可用的Environment.SpecialFolder枚举值中选择。
输出
  • “文件夹路径” - 所选特殊文件夹的完整文件夹路径。如果文件夹在当前平台上不可用,则返回空字符串。
其他
  • “私有”- 选中后将不再以“Verbose”级别记录变量和参数的值。

特定于平台的行为

Windows 环境

在 Windows 上运行时:

  • 所有标准特殊文件夹都解析为其预期的 Windows 路径(例如, DesktopProgramFilesSystemApplicationData )。
  • 仅限 Windows 的文件夹,例如ProgramFilesProgramFilesX86WindowsAdminToolsCommonProgramFiles返回有效路径。
  • 文件夹通常解析为C:\Users\<username>或系统目录下的位置,例如C:\Windows

跨平台环境

在 Linux 或 macOS 上运行时:

  • 仅将一部分特殊文件夹解析为有效路径;许多特定于 Windows 的文件夹会返回空字符串。
  • 文件夹路径遵循 Linux(使用$XDG_CONFIG_HOME$XDG_DATA_HOME等环境变量)上的 XDG Base Directory 规范和 macOS 约定。
  • 该活动从不创建目录;它只会根据操作系统解析已知位置。
  • 如果无法在当前平台上解析文件夹,则该活动将返回空字符串(非 Null),并且不会引发异常。

常用文件夹映射

跨平台文件夹

这些文件夹通常可在 Windows 和跨平台环境中解析:

  • 用户配置文件- Windows: C:\Users\<user> ,Linux/macOS: $HOME
  • 桌面- Windows: C:\Users\<user>\Desktop ,Linux/macOS: ~/Desktop (如果存在)
  • 我的文档- Windows: C:\Users\<user>\Documents ,Linux/macOS: ~/Documents (如果存在)
  • 应用程序数据- Windows: %APPDATA% (漫游),Linux/macOS: ~/.config (XDG)
  • 本地应用程序数据- Windows: %LOCALAPPDATA% ,Linux/macOS: ~/.local/share (XDG)

仅限 Windows 文件夹

这些文件夹在 Windows 上返回有效路径,但在 Linux/macOS 上通常返回空字符串:

  • ProgramFilesProgramFilesX86 - Windows 程序安装目录
  • SystemSystemX86Windows - Windows 系统目录
  • 通用应用程序数据- Windows: %PROGRAMDATA% ,Linux/macOS:空字符串
  • 通用程序文件通用程序文件X86 - 共享程序文件
  • “管理员工具”“模板”“收藏夹”“最近”“发送至” 、 “开始菜单”“启动” - Windows Shell 文件夹

特定于平台的注意事项

  • 字体- Windows: %WINDIR%\Fonts ,macOS: /System/Library/Fonts (系统)或/Library/Fonts (用户),Linux:因发行版而异,通常返回空字符串
  • 桌面“我的文档” - 如果用户配置文件中不存在目录,则可能返回空字符串,即使在期望返回空字符串的平台上也是如此

最佳实践

  • “始终验证结果” :在使用返回的路径之前检查string.IsNullOrEmpty(folderPath) ,因为许多文件夹在某些平台上可能不存在。
  • 对于跨平台工作流:首选使用UserProfileApplicationDataLocalApplicationData来存储应用程序数据,因为这些数据在平台之间具有一致的映射。
  • 避免使用仅限 Windows 的文件夹:不要在跨平台工作流中依赖ProgramFilesSystemWindows等文件夹,因为它们将在 Linux/macOS 上返回空字符串。
  • 处理缺少目录:该活动不会创建目录。如果需要写入特殊文件夹,请验证该文件夹是否存在,并在必要时创建该文件夹。
  • 在目标平台上测试:文件夹可用性可能会因用户配置文件配置而异,对于状态敏感的文件夹(如桌面和文档)而言尤其如此。
  • 容器化环境:请注意,容器化或受限环境可能由于路径缺失或无法访问而为更多文件夹返回空字符串。

返回值

  • 如果特殊文件夹可在当前平台使用,则以字符串形式返回完整文件夹路径。
  • 如果无法在当前平台上解析文件夹,则返回空字符串 ( string.Empty )。
  • 对于不支持的文件夹,绝不返回 null,也不会引发异常。

示例场景

场景 1:检索用户配置文件

  • Windows:返回C:\Users\<username>
  • Linux/macOS:返回/home/<username>/Users/<username>

场景 2:检索 ProgramFiles

  • Windows:返回C:\Program Files
  • Linux/macOS:返回空字符串

场景 3:检索应用程序数据

  • Windows:返回C:\Users\<username>\AppData\Roaming
  • Linux/macOS:返回~/.config (XDG 规范)

场景 4:文件夹不存在时检索桌面

  • 所有平台:如果用户配置文件中不存在 Desktop 文件夹,则返回空字符串

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新