.NET TIPS すべての分離ストレージ環境をクリーンアップするには?[C#、VB]デジタルアドバンテージ 一色 政彦2007/05/17 |
|
|
分離ストレージ(Isolated Storage)を扱うソフトウェアを開発する場合、その処理をテストするなどの理由で、その実行環境を完全に初期状態に戻したいというケースはあるだろう(※分離ストレージについて詳しくは、「TIPS:分離ストレージを活用するには?」をご参照いただきたい)。そこで本TIPSでは、ユーザー(=Windowsログオン・ユーザー)ごとにこれまでに作成・生成されてきたすべての分離ストレージ環境を完全にクリーンアップする方法を説明する。
その方法には「コードによる方法」と「ツールによる方法」があるので、それぞれ解説しよう。
すべての分離ストレージ環境をクリーンアップする方法(コード編)
すべての分離ストレージ環境(と、その中にあるすべての分離ストレージ・ファイルおよびディレクトリ)を一括削除するには、IsolatedStorageFileクラス(System.IO.IsolatedStorage名前空間)の静的メソッドであるRemoveメソッドを呼び出せばよい。メソッドのパラメータには「IsolatedStorageScope.User」を指定する。これはIsolatedStorageScope列挙体(System.IO.IsolatedStorage名前空間)の値の1つで、「ユーザーごとの分離ストレージ環境全体」を表すものだ。つまり、これによってユーザーごとの分離ストレージ環境全体をクリーンアップすることになる。
次のコードは実際に、(ユーザーごとの)すべての分離ストレージ環境を完全にクリーンアップするコードだ。
|
||
分離ストレージ環境をクリーンアップするコード(上:C#、下:VB) |
このプログラムは、このプログラムを実行したユーザーに割り当てられている分離ストレージ内の全ファイルおよび全ディレクトリを削除する(※ただし、削除されるのは現在Windowsにログオンしているユーザーのデータのみ)。
すべての分離ストレージ環境をクリーンアップする方法(ツール編)
上記コードと同様の処理は、「分離ストレージ・ツール(Storeadm.exe)」を使って行うこともできる。この分離ストレージ・ツールは.NET Framework SDKの「Bin」ディレクトリの中に入っている。そのため、これを使うにはあらかじめ(.NET Frameworkのバージョンに合った).NET Framework SDKをコンピュータにインストールしておく必要がある(※Visual Studioをインストールするとオプションによっては自動的に入る)。
分離ストレージ・ツールを利用するには、「Visual Studio .NET コマンド プロンプト」や「Visual Studio 2005 コマンド プロンプト」、.NET Framework 2.0 SDKの「SDK コマンド プロンプト」などを使う。例えばこれらのコマンド・プロンプト上で、次のコマンドを入力し、実行する(※「/remove」はクリーンアップを指示するオプション)。
storeadm.exe /remove
これにより、「ユーザーごとの分離ストレージ環境全体」がクリーンアップされる。この処理結果は上記のコードを実行したものとまったく同じになる。
カテゴリ:クラス・ライブラリ 処理対象:分離ストレージ 使用ライブラリ:IsolatedStorageFileクラス(System.IO.IsolatedStorage名前空間) 使用ライブラリ:IsolatedStorageScope列挙体(System.IO.IsolatedStorage名前空間) 関連TIPS:分離ストレージを活用するには? |
|
「.NET TIPS」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|