メイン画像

AppData 直下の Local, LocalLow, Roaming フォルダの違い

AppData 直下の Local, LocalLow, Roaming フォルダの違い


Windows の AppData フォルダ直下には Local, LocalLow, Roaming の3つのフォルダがある。

それぞれの違いは何だろうか?

用途

Local と LocalLow フォルダには個人設定(ローカル設定)が保存される。
WindowsXP では %USERPROFILE%\Local Settings だった。

Roaming フォルダにはアプリケーションデータが保存される。
WindowsXP では %USERPROFILE%\Application Data だった。

考え方

Roaming

ユーザーとともに別のコンピューターに移動できるもの。

Local, LocalLow

ファイルサイズが大きく、ユーザーとともに移動するには負担が大きいファイルが使用する場所。

Local, LocalLow はアクセスするプロセスの信頼度の差によって使い分けられる。
相対的に危険度が高いプロセスが LocalLow を使うことになっている。

付録 - C# でそれぞれのフォルダを取得する方法

Environment.GetFolderPath メソッドを使う、または環境変数からパスを取得できる。

Roaming フォルダの取得

GetFolderPath メソッドの引数に Environment.SpecialFolder.ApplicationData を指定する。

var path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData);
// → C:\Users\username\AppData\Roaming

環境変数「APPDATA」から取得することもできる。

var path = System.Environment.GetEnvironmentVariable("APPDATA");
// → C:\Users\username\AppData\Roaming

Local フォルダの取得

GetFolderPath メソッドの引数に Environment.SpecialFolder.LocalApplicationData を指定する。

var path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.LocalApplicationData);
// → C:\Users\username\AppData\Local

環境変数「LOCALAPPDATA」から取得することもできる。

var path = System.Environment.GetEnvironmentVariable("LOCALAPPDATA");
// → C:\Users\username\AppData\Local

LocalLow フォルダの取得

Environment.SpecialFolder 列挙型には LocalLow フォルダを表すフィールドが存在しないので、 GetFolderPath メソッドを使っての取得はできない。

また環境変数にも LocalLow フォルダは定義されていない。

したがって取得にはひと手間かける必要がある。

たとえば Local のパスに “Low” を連結する。
あるいは Roaming のパスを取得してから LocalLow に置換する。

安全そうなのは前者の “Low” を連結する方かと。
置換する方法は、意図しない箇所に Roaming が入っていた場合、その場所まで LocalLow になってしまう。
まー、ほぼあり得ないと思うが……。

var path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData)
                             .Replace("Roaming", "LocalLow");
// → C:\Users\username\AppData\LocalLow
var path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.LocalApplicationData) + "Low";
// → C:\Users\username\AppData\LocalLow

参考ページ


アカウントを作成 して、もっと沢山の記事を読みませんか?


この記事が気に入ったら ことりと さんを応援しませんか?
メッセージを添えてチップを送ることができます。


この記事にコメントをしてみませんか?


酒とアクアリウムが最近の楽しみ。