特殊フォルダ

次の列挙型に特殊フォルダ名が含まれる。

だが、Downloads/, Camera Roll/, Saved Games/ などは見つからない。Downloadsの場所が知りたいことはある。どうもこれらは別扱いで、"shell:***" で扱えるのは、特殊フォルダのなかの特殊なもの、おそらく、システムレベルではなくてシェルレベルのものだろう。

directory - Getting Downloads Folder in C#? - Stack Overflow によると、レジストリを探っている。レジストリに書いてあるフォルダは以下(星印は https://docs.microsoft.com/ja-jp/dotnet/api/system.environment.getfolderpath?view=netcore-3.1 では取れないもの)。

  1. Desktop
  2. Documents
  3. Downloads *
  4. Favorites
  5. Links *
  6. Music
  7. Pictures
  8. SavedGames *
  9. SavedSearches *
  10. Videos

Powershellでの実行例:

PS > [environment]::getFolderPath('MyVideos')
C:\Users\m-hiyama\Videos

PS > [environment]::getFolderPath('MyComputer')

PS >

課題:ライブラリのフォルダは複数の物理ディレクトリをマージできるが、複数のディレクトリを得るにはどうしたらいいのか?