.NET TIPS ファイルをごみ箱に入れるには?(My機能活用)[2.0のみ、C#、VB]デジタルアドバンテージ 遠藤 孝信2008/01/10 |
|
|
C#やVBのコードからファイルを削除する場合には、通常、Fileクラス(System.IO名前空間)のDeleteメソッドを使うが(「TIPS:ファイルをコピー/削除/リネーム/移動するには?」を参照)、ユーザーの操作をトリガとしてファイルを削除するようなケースでは、Deleteメソッドにより即座に削除するのではなく、操作ミスに備えてWindowsの「ごみ箱」に移動した方が好ましい場合がある。
ファイルをごみ箱に移動させるには、VB用に用意されたFileSystemクラス(Microsoft.VisualBasic.FileIO名前空間)の静的メソッドであるDeleteFileメソッドにより可能だ。もちろんこのメソッドはC#からも利用することができる。
VBによるごみ箱への移動
VBではMy機能を使ってFileSystemクラスのDeleteFileメソッドを呼び出すことができる。以下にその記述例を示す。このサンプル・プログラムはファイル「c:\tmp\gomi.bin」をごみ箱に送る。
| |
ファイルをごみ箱へ移動するVBのサンプル・プログラム | |
VBでは名前空間として「Microsoft.VisualBasic」までが既定でインポートされているため、UIOption列挙体などの指定は、「FileIO.〜」で書き始める。Microsoft.VisualBasic.FileIO名前空間を直接インポートした場合には、「FileIO.」の部分は記述不要となる。 |
DeleteFileメソッドの第1パラメータには削除するファイルのパス名、そして第3パラメータにはRecycleOption列挙体(Microsoft.VisualBasic.FileIO名前空間)の値であるSendToRecycleBinを指定すればよい。
第2パラメータには、UIOption列挙体(Microsoft.VisualBasic.FileIO名前空間)の値により、エラー・ダイアログのみを表示するか(OnlyErrorDialogs)、ファイル削除の進ちょく状況を示すプログレス・ダイアログを含めたすべてのダイアログを表示するか(AllDialogs)を指定できる。しかし通常はファイルの削除は一瞬で完了するため、プログレス・ダイアログの表示はほとんど意味がない。
ちなみに、「My.Computer.FileSystem.DeleteFile(……)」の部分はMy機能を使わずに、「FileIO.FileSystem.DeleteFile(……)」と記述することもできる。
C#によるごみ箱への移動
次に、C#からFileSystemクラスのDeleteFileメソッドを呼び出す場合の記述例を以下に示す。Visual Studio利用時には、Microsoft.VisualBasicコンポーネント(Microsoft.VisualBasic.dll)を参照設定に追加しておく必要がある。
| |
ファイルをごみ箱へ移動するC#のサンプル・プログラム |
なお、ディレクトリのごみ箱への移動については「TIPS:進行状況を表示しながらディレクトリやファイルをコピー/移動/削除するには?(My機能活用)」で解説しているので、そちらを参照していただきたい。
利用可能バージョン:.NET Framework 2.0のみ カテゴリ:クラス・ライブラリ 処理対象:ディレクトリ&ファイル 使用ライブラリ:FileSystemクラス(Microsoft.VisualBasic.FileIO名前空間) 使用ライブラリ:UIOption列挙体(Microsoft.VisualBasic.FileIO名前空間) 使用ライブラリ:RecycleOption列挙体(Microsoft.VisualBasic.FileIO名前空間) 関連TIPS:ファイルをコピー/削除/リネーム/移動するには? 関連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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|