如何使用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
相关产品推荐
相关产品推荐

