次の方法で共有


My.Computer.FileSystem.DeleteDirectory メソッド

更新 : 2007 年 11 月

ディレクトリを削除します。

' Usage
My.Computer.FileSystem.DeleteDirectory(directory ,onDirectoryNotEmpty)
My.Computer.FileSystem.DeleteDirectory(directory ,showUI ,recycle)
My.Computer.FileSystem.DeleteDirectory(directory ,showUI ,recycle ,onUserCancel)
' Declaration
Public Sub DeleteDirectory( _
   ByVal directory As String, _
   ByVal onDirectoryNotEmpty As DeleteDirectoryOption _
)
' -or-
Public Sub DeleteDirectory( _
   ByVal directory As String, _
   ByVal showUI As UIOption, _
   ByVal recycle As RecycleOption _
)
' -or-
Public Sub DeleteDirectory( _
   ByVal directory As String, _
   ByVal showUI As UIOption, _
   ByVal recycle As RecycleOption, _
   ByVal onUserCancel As UICancelOption _
)

パラメータ

  • directory
    String です。削除するディレクトリです。必ず指定します。

  • onDirectoryNotEmpty
    DeleteDirectoryOption 列挙型です。削除対象のディレクトリ内にファイルまたはディレクトリが存在する場合の処理を指定します。既定値は DeleteDirectoryOption.DeleteAllContents です。

  • showUI
    UIOption 列挙型です。操作の進行状況を視覚的に表示するかどうかを指定します。既定値は UIOption.OnlyErrorDialogs です。必ず指定します。

  • recycle
    RecycleOption 列挙型です。削除したファイルを [ごみ箱] に送るかどうかを指定します。既定値は RecycleOption.DeletePermanently です。

  • onUserCancel
    UICancelOption 列挙型です。ユーザーが [キャンセル] をクリックした場合に例外をスローするかどうかを指定します。必ず指定します。

例外

次の条件を満たす場合は、例外が発生する可能性があります。

  • パスが長さ 0 の文字列である、パスの形式に誤りがある、パスに空白だけが含まれている、パスに無効な文字 (ワイルドカード文字を含む) が含まれている (ArgumentException)。

  • パスがデバイス パスである (\\.\ で始まる) (ArgumentException)。

  • パスが Nothing である (ArgumentNullException)。

  • ディレクトリが存在しないか、ファイルである (DirectoryNotFoundException)。

  • 対象のディレクトリが空でなく、かつ、onDirectoryNotEmpty が ThrowIfDirectoryNonEmpty に設定されている (IOException)。

  • 対象のディレクトリまたはサブディレクトリを削除するためのアクセス許可をユーザーが持っていない (IOException)。

  • 対象のディレクトリまたはサブディレクトリ内のファイルが使用中である (IOException)。

  • ファイル名またはディレクトリ名にコロン (:) が含まれている (NotSupportedException)。

  • ユーザーが操作をキャンセルした、またはディレクトリを削除できなかった (OperationCanceledException)。

  • パスがシステムで定義されている最大長を超えている (PathTooLongException)。

  • ユーザーに必要なアクセス許可がない (SecurityException)。

解説

showUI、recycle、および onUserCancel パラメータは、ユーザー対話型でないアプリケーション (Windows サービスなど) ではサポートされていません。

処理手順

My.Computer.FileSystem.DeleteDirectory メソッドに関連するタスクの例を次の表に示します。

目的

参照項目

ディレクトリを削除する。

方法 : Visual Basic でディレクトリを削除する

使用例

この例では、 OldDirectory ディレクトリが空の場合のみ、このディレクトリを削除します。

My.Computer.FileSystem.DeleteDirectory _
("C:\OldDirectory", FileIO.DeleteDirectoryOption.ThrowIfDirectoryNonEmpty)

この例では、 OldDirectory ディレクトリとその内容をすべて削除します。

My.Computer.FileSystem.DeleteDirectory _
("C:\OldDirectory", FileIO.DeleteDirectoryOption.DeleteAllContents)

この例では、削除するかどうかをユーザーに確認したうえで、 OldDirectory ディレクトリとその内容をすべて削除します。ただし、削除した内容を [ごみ箱] には送りません。

My.Computer.FileSystem.DeleteDirectory _
("C:\OldDirectory", FileIO.UIOption.AllDialogs, FileIO.RecycleOption.DeletePermanently, FileIO.UICancelOption.ThrowException)

この例では、 OldDirectory ディレクトリとその内容をすべて削除して [ごみ箱] に送りますが、操作の進行状況は表示しません。

My.Computer.FileSystem.DeleteDirectory("C:\OldDirectory", _
 FileIO.UIOption.AllDialogs, FileIO.RecycleOption.SendToRecycleBin, FileIO.UICancelOption.ThrowException)

必要条件

名前空間 : Microsoft.VisualBasic.MyServices

クラス : FileSystemProxy (FileSystem へのアクセスを可能にします)

アセンブリ : Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll 内)

プロジェクトの種類ごとの可用性

プロジェクトの種類

可用性

Windows アプリケーション

クラス ライブラリ

コンソール アプリケーション

Windows コントロール ライブラリ

Web コントロール ライブラリ

Windows サービス

Web サイト

アクセス許可

次のアクセス許可が必要です。

アクセス許可

説明

FileIOPermission

ファイルとフォルダへのアクセス許可を制御します。関連する列挙値 : Unrestricted

UIPermission

ユーザー インターフェイスとクリップボードに関係するアクセス許可を制御します。関連する列挙値 : SafeSubWindows

詳細については、「コード アクセス セキュリティ」および「アクセス許可の要求」を参照してください。

参照

処理手順

方法 : Visual Basic でファイルを削除する

方法 : Visual Basic でディレクトリを削除する

参照

My.Computer.FileSystem オブジェクト

UICancelOption 列挙型

FileSystem.DeleteDirectory

UICancelOption

RecycleOption 列挙型

DeleteDirectoryOption 列挙型

UICancelOption 列挙型

UIOption 列挙型