このドキュメントはアーカイブされており、メンテナンスされていません。

Directory.Delete メソッド (String, Boolean)

更新 : 2007 年 11 月

指定したディレクトリと、特に指定されている場合はディレクトリ内の任意のサブディレクトリを削除します。

名前空間 :  System.IO
アセンブリ :  mscorlib (mscorlib.dll 内)

public static void Delete(
	string path,
	bool recursive
)
public static void Delete(
	String path,
	boolean recursive
)
public static function Delete(
	path : String, 
	recursive : boolean
)

パラメータ

path
型 : System.String
削除するディレクトリの名前。
recursive
型 : System.Boolean
path のディレクトリ、サブディレクトリ、およびファイルを削除する場合は true。それ以外の場合は false

例外条件
IOException

名前と位置が path で指定したのと同一のファイルが存在します。

または

path で指定したディレクトリが読み取り専用か、または recursivefalse で、path が空のディレクトリではありません。

または

このディレクトリは、アプリケーションの現在の作業ディレクトリです。

UnauthorizedAccessException

呼び出し元に、必要なアクセス許可がありません。

ArgumentException

path が、長さが 0 の文字列であるか、空白しか含んでいないか、または InvalidPathChars で定義されている無効な文字を 1 つ以上含んでいます。

ArgumentNullException

pathnull です。

PathTooLongException

指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。たとえば、Windows ベースのプラットフォームの場合、パスの長さは 248 文字未満、ファイル名の長さは 260 文字未満である必要があります。

DirectoryNotFoundException

指定されたパスが存在しないか、見つかりませんでした。

または

指定したパスが無効です (割り当てられていないドライブであるなど)。

path パラメータは、相対パス情報または絶対パス情報を指定することを許可されています。相対パス情報は、現在の作業ディレクトリに対して相対的に解釈されます。現在の作業ディレクトリを取得するには、GetCurrentDirectory のトピックを参照してください。

path パラメータでは大文字と小文字が区別されません。

recursive パラメータが true の場合、ユーザーは現在のディレクトリとすべてのサブディレクトリに対する書き込みアクセス許可を持つ必要があります。

シンボリック リンクやマウント ポイントなどのリパース ポイントを含むディレクトリを削除する場合、このメソッドの動作は若干異なります。リパース ポイントがマウント ポイントなどのディレクトリである場合は、マウントが解除され、マウント ポイントが削除されます。このメソッドは、リパース ポイントに対して再帰的な処理を行いません。リパース ポイントがファイルへのシンボリック リンクである場合、リパース ポイントは削除され、シンボリック リンクのターゲットではなくなります。

共通 I/O タスクの一覧については、「共通 I/O タスク」を参照してください。

Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows CE プラットフォーム メモ :

一部のデバイスのファイル システムは相対パスをサポートしていません。絶対パス情報を指定してください。

指定したディレクトリおよびサブディレクトリを作成および削除するコード例を次に示します。

using System;
using System.IO;

class Test 
{
	
    public static void Main() 
    {
        // Specify the directories you want to manipulate.
        string path = @"c:\MyDir";
        string subPath = @"c:\MyDir\temp";

        try 
        {
            // Determine whether the directory exists.
            if (!Directory.Exists(path)) 
            {
                // Create the directory.
                Directory.CreateDirectory(path);
            }


            if (!Directory.Exists(subPath)) 
            {
                // Create the directory.
                Directory.CreateDirectory(subPath);
            }

            // This will succeed because subdirectories are being deleted.
            Console.WriteLine("I am about to attempt to delete {0}", path);
            Directory.Delete(path, true);
            Console.WriteLine("The Delete operation was successful.");

        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        } 
        finally {}
    }
}


import System.*;
import System.IO.*;

class Test
{
    public static void main(String[] args)
    {
        // Specify the directories you want to manipulate.
        String path = "c:\\MyDir";
        String subPath = "c:\\MyDir\\temp";

        try {
            // Determine whether the directory exists.
            if (!(Directory.Exists(path))) {
                // Create the directory.
                Directory.CreateDirectory(path);
            }

            if (!(Directory.Exists(subPath))) {
                // Create the directory.
                Directory.CreateDirectory(subPath);
            }

            // This will succeed because subdirectories are being deleted.
            Console.WriteLine("I am about to attempt to delete {0}", path);
            Directory.Delete(path, true);
            Console.WriteLine("The Delete operation was successful.");
        }
        catch (System.Exception e) {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
        finally {
        }
    } //main
} //Test


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

.NET Framework

サポート対象 : 3.5、3.0、2.0、1.1、1.0

.NET Compact Framework

サポート対象 : 3.5、2.0、1.0

XNA Framework

サポート対象 : 2.0、1.0
表示: