一下代码从网上搜集整理:
/// <summary> /// 与文件夹有关的操作类 /// </summary> public class DirOperate { #region 操作选项 /// <summary> /// 创建文件夹时的操作选项 /// </summary> public enum OperateOption { /// <summary> /// 当被创建的文件夹存在时,先删除该文件夹 /// </summary> ExistDelete, /// <summary> /// 当文件夹存在时,直接返回,不进行其它操作 /// </summary> ExistReturn } #endregion #region 创建文件夹 /// <summary> /// 创建文件夹 /// </summary> /// <param name="DirFullPath">要创建的文件夹全路径</param> /// <param name="Option">创建文件夹时的操作选项</param> /// <returns>bool 是否创建成功</returns> public static bool CreateDir(string DirFullPath, OperateOption Option) { try { if (Directory.Exists(DirFullPath) == false) //判断文件夹是否存在 { Directory.CreateDirectory(DirFullPath); } else if (Option == OperateOption.ExistDelete) //如果存在且选项为“存在删除” { Directory.Delete(DirFullPath); //删除目录,并删除此目录下的所以子目录 Directory.CreateDirectory(DirFullPath); //创建目录 } return true; } catch { return false; } } #endregion #region 删除文件夹 /// <summary> /// 删除文件夹 /// </summary> /// <param name="DirFullPath"></param> /// <returns></returns> public static bool DeleteDir(string DirFullPath) { if (Directory.Exists(DirFullPath) == true) { Directory.Delete(DirFullPath, true); return true; } else { return false; } } #endregion #region 得到当前文件夹中所有文件列表 /// <summary> /// 得到当前文件夹中所有文件列表 /// </summary> /// <param name="DirFullPath">文件夹全路径</param> /// <returns>string[] 文件列表</returns> public static string[] GetFiles(string DirFullPath) { if (Directory.Exists(DirFullPath) == true) { string[] s = Directory.GetFiles(DirFullPath, "*.*", SearchOption.TopDirectoryOnly); //获取当前目录下的所有文件 return s; } else { return null; } } #endregion #region 得到当前文件夹及下级文件夹中所有文件列表 /// <summary> /// 得到当前文件夹及下级文件夹中所有文件列表 /// </summary> /// <param name="DirFullPath">文件夹全路径</param> /// <returns>string[] 文件列表</returns> public static string[] GetAllFiles(string DirFullPath) { if (Directory.Exists(DirFullPath) == true) { string[] s = Directory.GetFiles(DirFullPath, "*.*", SearchOption.AllDirectories); //获取当前目录下的所有文件(包含子文件夹中的文件) return s; } else { return null; } } #endregion #region 得到当前文件夹中指定文件类型[扩展名]文件列表 /// <summary> /// 得到当前文件夹中指定文件类型[扩展名]文件列表 /// </summary> /// <param name="DirFullPath">文件夹的全路径</param> /// <param name="SearchPattern">查找哪种类型的文件</param> /// <returns>string[] 文件列表</returns> public static string[] GetPatternFiles(string DirFullPath, string SearchPattern) { if (Directory.Exists(DirFullPath) == true) { string[] s = Directory.GetFiles(DirFullPath, SearchPattern); //获取当前目录下指定文件类型的文件列表 return s; } else { return null; } } #endregion #region 得到当前文件夹及下级文件夹中指定文件类型[扩展名]文件列表 /// <summary> /// 得到当前文件夹及下级文件夹中指定文件类型[扩展名]文件列表 /// </summary> /// <param name="DirFullPath">目录全路径</param> /// <param name="SearchPattern">查找哪种类型的文件</param> /// <returns>string[] 文件列表</returns> public static string[] GetAllPatternFiles(string DirFullPath, string SearchPattern) { if (Directory.Exists(DirFullPath) == true) { string[] s = Directory.GetFiles(DirFullPath, SearchPattern, SearchOption.AllDirectories); //获取当前目录下的文件 return s; } else { return null; } } #endregion #region 得到当前文件夹中所有文件列表 /// <summary> /// 得到当前文件夹中所有文件列表 /// </summary> /// <param name="DirFullPath">文件夹全路径</param> /// <returns>string[] 文件列表</returns> public static string[] GetDirAndFiles(string DirFullPath) { if (Directory.Exists(DirFullPath) == true) { string[] s = Directory.GetFileSystemEntries(DirFullPath, "*.*", SearchOption.TopDirectoryOnly); //获取当前目录下的所有文件 return s; } else { return null; } } #endregion #region 得到当前文件夹及下级文件夹中所有文件列表 /// <summary> /// 得到当前文件夹及下级文件夹中所有文件列表 /// </summary> /// <param name="DirFullPath">文件夹全路径</param> /// <returns>string[] 文件列表</returns> public static string[] GetAllDirAndFiles(string DirFullPath) { if (Directory.Exists(DirFullPath) == true) { string[] s = Directory.GetFileSystemEntries(DirFullPath, "*.*", SearchOption.AllDirectories); //获取当前目录下的所有文件(包含子文件夹中的文件) return s; } else { return null; } } #endregion }