You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用C#创建和删除目录?是否有相关类库?

C# 实现目录创建与删除(对应mkdir/rm功能)

核心依赖类库

所有操作基于.NET内置的 System.IO 命名空间,无需额外安装包,直接引用即可。


一、创建目录(对应mkdir命令)

1. 基础创建(单级/多级目录)

使用 Directory.CreateDirectory() 方法,会自动创建所有不存在的父目录,等效于mkdir -p的效果。

代码示例:

using System.IO;

// 创建单级目录
Directory.CreateDirectory(@"C:\temp\testDir");

// 创建多级嵌套目录(父目录不存在时自动创建)
Directory.CreateDirectory(@"C:\temp\level1\level2\level3");

2. 精细化目录操作(可选)

如果需要获取目录详情或执行更多操作,可使用 DirectoryInfo 类:

DirectoryInfo dirInfo = new DirectoryInfo(@"C:\temp\testDir");
// 仅当目录不存在时创建
if (!dirInfo.Exists)
{
    dirInfo.Create();
    // 创建多级子目录
    dirInfo.CreateSubdirectory(@"level1\level2");
}

二、删除目录(对应rm命令)

1. 删除空目录

使用 Directory.Delete() 的单参数重载,仅能删除空目录,等效于rmdir命令。

代码示例:

// 删除空目录,目录不存在会抛出异常
Directory.Delete(@"C:\temp\emptyDir");

// 可选:先判断目录是否存在
if (Directory.Exists(@"C:\temp\emptyDir"))
{
    Directory.Delete(@"C:\temp\emptyDir");
}

2. 递归删除非空目录(对应rm -r)

使用 Directory.Delete() 的双参数重载,将第二个参数设为true,即可递归删除目录及其所有内容(文件、子目录)。

代码示例:

// 递归删除目录及所有内容
Directory.Delete(@"C:\temp\nonEmptyDir", true);

// 用DirectoryInfo实现同样效果
DirectoryInfo dirInfo = new DirectoryInfo(@"C:\temp\nonEmptyDir");
if (dirInfo.Exists)
{
    dirInfo.Delete(true);
}

内容的提问来源于stack exchange,提问作者EsprnzJK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 02:00:00