System.IO.Directory.Delete 方法 (String)

方法描述

从指定路径删除空目录。

语法定义(C# System.IO.Directory.Delete 方法 (String) 的用法)

public static void Delete(
	string path
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
path System-String 要移除的空目录的名称。此目录必须为可写或为空。
返回值 void

提示和注释

如果为第二个参数指定 false,则此方法与 Delete(String, Boolean) 的行为类似。

path 参数可以指定相对或绝对路径信息。 相对路径信息被解释为相对于当前工作目录。 若要获取当前工作目录,请参见 GetCurrentDirectory。

如果在 path 参数中指定的目录包含文件或子目录,则此方法引发 IOException。

path 参数不区分大小写。

在某些情况下,如果指定的目录在 Windows 资源管理器中打开,则 Delete 方法可能无法删除它。

System.IO.Directory.Delete 方法 (String)例子

下面的代码示例删除指定的目录,但如果其中有子目录,则引发异常。

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 if it does not exist.
                Directory.CreateDirectory(path);
            }


            if (!Directory.Exists(subPath)) 
            {
                // Create the subdirectory if it does not exist.
                Directory.CreateDirectory(subPath);
            }

            // This operation will not be allowed because there are subdirectories.
            Console.WriteLine("I am about to attempt to delete {0}.", path);
            Directory.Delete(path);
            Console.WriteLine("The Delete operation was successful, which was unexpected.");

        } 
        catch (Exception) 
        {
            Console.WriteLine("The Delete operation failed as expected.");
        } 
        finally {}
    }
}

异常

异常 异常描述
IOException
  • 存在具有相同名称和 path 指定的位置的文件。
  • 该目录为应用程序的当前工作目录。
  • 由 path 指定的目录不为空。
  • 该目录是只读的,或者包含只读文件。
  • 该目录正被另一个进程使用。
  • 对于目录有打开句柄,并且操作系统是 Windows XP 或更早版本。 此打开句柄可能来自目录。 有关更多信息,请参见 如何:枚举目录和文件。
UnauthorizedAccessException 调用方没有所要求的权限。
ArgumentException path 是一个零长度字符串,仅包含空白或者包含一个或多个由 InvalidPathChars 定义的无效字符。
ArgumentNullException path 为 null。
PathTooLongException 指定的路径、文件名或者两者都超出了系统定义的最大长度。 例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260 个字符。
DirectoryNotFoundException
  • path 不存在或未能找到。
  • path 指向文件而不是目录。
  • 指定的路径无效(例如,它位于未映射的驱动器上)。

命名空间

namespace: System.IO

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。