XDG Base Directory Specification
Linux環境ではデスクトップ環境の標準化を目的として、XDG Base Directory Specificationという仕様があって、それぞれアプリケーションが使うべきディレクトリを指定しています。
- XDG_CONFIG_HOME
- ユーザー個別の設定が書き込まれるディレクトリ (/etc と類似)。
- デフォルトは $HOME/.config です。
- XDG_CACHE_HOME
- ユーザー個別の重要でない (キャッシュ) データが書き込まれるディレクトリ (/var/cache と類似)。
- デフォルトは $HOME/.cache です。
- XDG_DATA_HOME
- ユーザー個別のデータファイルが書き込まれるディレクトリ (/usr/share と類似)。
- デフォルトは $HOME/.local/share です。
より詳しくはXDG Base Directory サポート - ArchWikiを見てください。これはfreedesktop.orgが定めている仕様なのでWindowsではサポートされていません。
KNOWNFOLDERID / CSIDL
Windwos側でこれに対応するのがKNOWNFOLDERIDとCSIDLのようです。
Environment String | Example Path |
---|---|
%ALLUSERSPROFILE% | C:\ProgramData |
%APPDATA% | C:\Users\username\AppData\Roaming |
%LOCALAPPDATA% | C:\Users\username\AppData\Local |
%ProgramData% | C:\ProgramData |
%ProgramFiles% | C:\Program Files |
%ProgramFiles(x86)% | C:\Program Files (x86) |
%PUBLIC% | C:\Users\Public |
%SystemDrive% | C: |
%USERPROFILE% | C:\Users\username |
%windir% | C:\Windows |
なので表題のアプリケーションの設定は %APPDATA%
を使うのが良さそうです