ryota2357

[C#] MacOSにおける Environment.GetFolderPath(Environment.SpecialFolder)

投稿日:

Environment.GetFolderPath Methodというメソッドがある。

Gets the path to the system special folder that is identified by the specified enumeration.

指定された列挙型で識別されるシステム特殊フォルダのパスを取得する。(DeepL)

このメソッドの引数はEnvironment.SpecialFolder Enumである。

「こいつら、MacOS だとどうなるのだろうか?」ってことで調べた(全部実行してみた)のでその結果。

環境

「実行したらこうなったよ」なので環境依存の可能性大。ドキュメントとしてどこかに書いてあるのだろうか?

  • MacOS 12.5
  • MacBook Pro (14 インチ、2021)
  • チップ: Apple M1 Pro
  • .Net: 6.0.302 (dotnet --version)

結果

以下のようなスクリプトを実行した結果。
オプションに DoNotVerify を設定してるので、すでに存在するかどうかは考慮してない。

Console.WriteLine(Environment.GetFolderPath(Environment.SpecialFolder.Cookies, Environment.SpecialFolderOption.DoNotVerify));

出力に $HOME って書いてるけど、実際はそれも展開されて出力されてる。「ー」は空行が出力されたもの。

SpecialFolder出力
Cookies
Desktop$HOME/Desktop
Favorites$HOME/Library/Favorites
Fonts$HOME/Library/Fonts
History
Personal$HOME
Programs
Recent
Resources
Startup
System/System
Templates$HOME/Templates
Windows
AdminTools
ApplicationData$HOME/.config
CommonDocuments
CommonMusic
CommonPictures
CommonPrograms
CommonStartup
CommonTemplates/usr/share/templates
CommonVideos
DesktopDirectory$HOME/Desktop
InternetCache$HOME/Library/Caches
LocalizedResources
MyComputer
MyDocuments$HOME
MyMusic$HOME/Music
MyPictures$HOME/Pictures
MyVideos$HOME/Videos
NetworkShortcuts
PrinterShortcuts
ProgramFiles/Applications
SendTo
StartMenu
SystemX86
UserProfile$HOME
CDBurning
CommonAdminTools
CommonApplicationData/usr/share
CommonDesktopDirectory
CommonOemLinks
CommonProgramFiles
CommonStartMenu
LocalApplicationData$HOME/.local/share
ProgramFilesX86
CommonProgramFilesX86