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 など) へのパスを取得できます。信頼性の高いクロスプラットフォーム オートメーション ワークフローを構築するには、プラットフォーム固有の動作を理解することが不可欠です。

注:

SpecialFolder 列挙はプラットフォーム間で一貫していますが、実際のフォルダーのマッピングと可用性は、Windows 環境とクロスプラットフォーム環境では大きく異なります。Linux/macOS では、Windows 固有のフォルダーの多くが空の文字列を返します。

プロパティ

共通
  • 表示名 - アクティビティの表示名です。
入力
  • SpecialFolder - パスを取得する SpecialFolder です。利用可能な Environment.SpecialFolder 列挙値から選択します。
出力
  • FolderPath - 選択した [特殊フォルダー] の完全なフォルダー パスです。フォルダーが現在のプラットフォームで利用できない場合は、空の文字列を返します。
その他
  • プライベート - オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。

プラットフォーム固有の動作

Windows 環境

Windows で実行する場合:

  • 標準の特殊フォルダーはすべて、予期される Windows パス (DesktopProgramFilesSystemApplicationData など) に解決されます。
  • ProgramFilesProgramFilesX86WindowsAdminToolsCommonProgramFiles などの Windows のみのフォルダーは有効なパスを返します。
  • フォルダーは通常、C:\Users\<username> または C:\Windows などのシステム ディレクトリの下の場所に解決されます。

クロスプラットフォーム環境

Linux または macOS で実行する場合:

  • 特殊なフォルダーのサブセットのみが有効なパスに解決されます。Windows のみのフォルダーの多くは、空の文字列を返します。
  • フォルダーパスは、Linux 上の XDG Base Directory 仕様 ($XDG_CONFIG_HOME$XDG_DATA_HOME や、macOS の命名規則に従います。
  • このアクティビティではディレクトリは作成されません。オペレーティング システムに基づいて既知の場所のみを解決します。
  • 現在のプラットフォームでフォルダーを解決できない場合、このアクティビティは空の文字列 (null ではない) を返し、例外をスローしません。

共通のフォルダー マッピング

クロスプラットフォーム フォルダー

以下のフォルダーは通常、Windows 環境とクロスプラットフォーム環境の両方で解決されます。

  • UserProfile - Windows: C:\Users\<user>、Linux/macOS: $HOME
  • Desktop - Windows: C:\Users\<user>\Desktop、Linux/macOS: ~/Desktop (存在する場合)
  • MyDocuments - Windows: C:\Users\<user>\Documents、Linux / macOS: ~/Documents (存在する場合)
  • ApplicationData - Windows: %APPDATA% (Roaming)、Linux/macOS: ~/.config (XDG)
  • LocalApplicationData - Windows: %LOCALAPPDATA%、Linux/macOS: ~/.local/share (XDG)

Windows のみのフォルダー

以下のフォルダーは、Windows では有効なパスを返しますが、Linux/macOS では通常、空の文字列を返します。

  • ProgramFilesProgramFilesX86 - Windows プログラムのインストール ディレクトリ
  • SystemSystemX86Windows - Windows システムディレクトリ
  • CommonApplicationData - Windows: %PROGRAMDATA%、Linux/macOS: 空の文字列
  • CommonProgramFilesCommonProgramFilesX86 - 共有プログラム ファイル
  • AdminToolsTemplatesFavoritesRecentSendToStartMenuStartup - Windows shell フォルダー

プラットフォーム固有の考慮事項

  • Fonts - Windows: %WINDIR%\Fonts、macOS: /System/Library/Fonts (システム) または /Library/Fonts (ユーザー)、Linux: ディストリビューションによって異なり、多くの場合空の文字列を返します
  • DesktopMyDocuments - ディレクトリがユーザー プロファイルに存在しない場合は、予期されるプラットフォーム上でも空の文字列を返すことがあります

ベスト プラクティス

  • 常に結果を検証する: 返されたパスを使用する前に、 string.IsNullOrEmpty(folderPath) を確認してください。特定のプラットフォームにおいて多くのフォルダーが存在しない可能性があるためです。
  • クロスプラットフォーム ワークフローの場合: アプリケーション データの保存には、UserProfileApplicationData、または LocalApplicationData の使用を優先します。これらのフォルダーにはプラットフォーム間で一貫したマッピングがあるためです。
  • Windows のみのフォルダーの使用を避ける: クロスプラットフォーム ワークフローで ProgramFilesSystemWindows などのフォルダーを使用しないでください。これらを使用すると、Linux/macOS では空の文字列が返されるためです。
  • 不足しているディレクトリを処理する: アクティビティではディレクトリは作成されません。特殊フォルダーに書き込む必要がある場合は、それが存在することを確認し、必要に応じて作成します。
  • ターゲット プラットフォームでテストする: フォルダーの可用性は、ユーザー プロファイルの構成によって異なり、特に Desktop や Documents などのプレゼンスに依存するフォルダーの場合は特にそう言えます。
  • コンテナー化された環境: コンテナー化された環境または制限された環境では、パスが見つからないかアクセスできないために、より多くのフォルダーに対して空の文字列が返される可能性があることに注意してください。

戻り値

  • 現在のプラットフォームで特殊フォルダーが使用可能な場合は、フォルダーのフル パスを文字列として返します。
  • 現在のプラットフォームでフォルダーを解決できない場合に、空の文字列 (string.Empty) を返します。
  • null を返すことはなく、サポートされていないフォルダーに例外をスローしません。

シナリオ例

シナリオ 1: UserProfile を取得する

  • Windows: C:\Users\<username> を返します
  • Linux/macOS: /home/<username> または /Users/<username> を返します

シナリオ 2: ProgramFiles を取得する

  • Windows: C:\Program Files を返します
  • Linux/macOS: 空の文字列を返します

シナリオ 3: ApplicationData を取得する

  • Windows: C:\Users\<username>\AppData\Roaming を返します
  • Linux/macOS: ~/.config (XDG 仕様) を返します。

シナリオ 4: Desktop フォルダーが存在しない場合に Desktop を取得する

  • すべてのプラットフォーム: ユーザー プロファイルに Desktop フォルダーが存在しない場合、空の文字列を返します

このページは役に立ちましたか?

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得