C# Directory.Delete(string path):删除指定目录

  • Post category:C#

Directory.Delete(string path)方法是C#中用于删除指定路径下的目录的方法。下面是详细的攻略:

方法概述

public static void Delete(string path);

参数path是指要删除的目录的路径。

方法说明

Directory.Delete(string path)方法用于删除一个空目录或者一个非空目录。如果目录为空,它将被直接删除。如果目录非空,除非默认情况下传递了第二个参数bool recursive=false,否则该方法将抛出异常。

注意:如果目录中存在只读文件或者子目录中的只读文件,删除方法将无法删除该目录,除非传递参数bool recursive=true,即递归删除。

方法示例

示例1:删除空目录

以下示例展示如何删除一个空目录(D:\mydir):

string directoryPath = @"D:\mydir";

if (Directory.Exists(directoryPath))
{
    try
    {
        Directory.Delete(directoryPath);
        Console.WriteLine("{0} 目录删除成功。", directoryPath);
    }
    catch (Exception e)
    {
        Console.WriteLine("删除目录出错: {0}", e.Message);
    }
}

这个示例首先检查路径是否存在,然后使用Directory.Delete方法删除该目录。

示例2:删除非空目录

以下示例展示如何删除一个非空目录(D:\mydir),并且递归删除所有子目录和文件:

string directoryPath = @"D:\mydir";

if (Directory.Exists(directoryPath))
{
    try
    {
        Directory.Delete(directoryPath, true);
        Console.WriteLine("{0} 目录删除成功。", directoryPath);
    }
    catch (Exception e)
    {
        Console.WriteLine("删除目录出错: {0}", e.Message);
    }
}

这个示例首先检查路径是否存在,然后使用Directory.Delete方法删除该目录,并且递归删除其子目录和文件。

总结

总之,Directory.Delete(string path)方法是一个非常方便的方法,可以用来删除空目录或非空目录。如果要删除非空目录,则需要传递一个额外的参数为true,即递归删除子目录和文件。当然,删除操作是一个危险的操作,建议在使用该方法前仔细确认。