.net core 删除指定路径下的所有文件以及文件夹(文件夹建议保留目录)
2024-09-08 17:11:23
1、服务层
/// <summary>
/// 删除指定路径下的所有文件
/// </summary>
/// <param name="filepath">指定路径</param>
/// <returns></returns>
public string DeleteSpecifiedPathAllFile(string filepath)
{
try
{
DirectoryInfo info = new DirectoryInfo(filepath);
// 去除文件夹的只读属性
info.Attributes = FileAttributes.Normal & FileAttributes.Directory;
// 去除文件的只读属性
File.SetAttributes(filepath, FileAttributes.Normal);
// 判断文件夹是否存在
if(Directory.Exists(filepath))
{
foreach(var file in Directory.GetFileSystemEntries(filepath))
{
if(File.Exists(file))
{
// 如果有子文件则删除子文件的所有文件
File.Delete(file);
}
else
{
// 循环递归删除子文件夹
DeleteSpecifiedPathAllFile(file);
}
}
// 删除已空文件夹(此步骤会删除指定目录的最底层文件夹,建议保留文件夹目录,此句注释)
// Directory.Delete(filepath, true);
}
return "当前路径下的所有文件夹以及文件删除成功!";
}
catch(Exception ex)
{
return "删除出现异常,异常原因为:" + ex.Message;
}
}
2、接口层
/// <summary>
/// 删除指定路径下的所有文件
/// </summary>
/// <param name="filepath">指定路径</param>
/// <returns></returns>
public string DeleteSpecifiedPathAllFile(string filepath);
3、控制层
/// <summary>
/// 删除指定路径下的所有文件
/// </summary>
/// <param name="filepath">指定路径</param>
/// <returns></returns>
[HttpPost, HttpOptions]
public IActionResult DeleteSpecifiedPathAllFile(string filepath)
{
return ToJsonContent(服务名.DeleteSpecifiedPathAllFile(filepath));
}
最新文章
- Ubuntu 16.04下Linux驱动编写第一步
- java web学习总结(十一) -------------------基本概念使用Cookie进行会话管理
- SSH整合 遇到的头疼的BUGs
- cocos2d-x CCScrollView和CCTableView的使用(转载)
- OkHttp使用介绍
- yii 10.16
- POJ 1064 Cable master
- poj 1753 Flip Game 枚举(bfs+状态压缩)
- MySQL数据库的同步配置+MySql读写分离
- Xcode7国际化(根据系统语言切换App显示的语言) - 元宵节快乐!
- matlab学习------------普通dialog对话框,错误对话框errordlg,警告对话框warndlg
- time.setToNow() 取当前时间,月份有误
- 201521123022 《Java程序设计》 第8周学习总结
- Python面向对象中的类和对象
- Python 函数初识 (1)
- appium框架之bootstrap
- [转帖]迎战AMD 7nm 64核EPYC 英特尔至强也玩起了胶水以及性价比
- Delphi 使用 Datasnap 的几种三层应用技术总结
- Makefile shell subst $(1)
- android学习:apiDemos导入时R.java无法生成的问题
热门文章
- Web浏览器Linux Shell(shellinabox解决通用区服务器Linux Shell访问很麻烦的问题)
- 1 c++编程基础
- FCOS论文复现:通用物体检测算法
- TypeScript 之 控制流分析(Control Flow Analysis)
- 分布式计算MapReduce究竟是怎么一回事?
- Django AttributeError: &#39;BugDeserializer&#39; object has no attribute &#39;_meta&#39;
- JavaScript:对象:对象和属性的内存结构是什么样的?
- asp前端无法获取后端中select *查询带出来的全部字段
- Web3区块链DAS域名注册教程 tron trx链波卡钱包地址解析 用户名转账 ENS
- Jekyll + GitHub Pages + Vercel纯免费搭建独立博客