.net core 删除指定路径下的所有文件以及文件夹(文件夹建议保留目录)

举报
GoodTimeGGB 发表于 2023/10/31 10:42:07 2023/10/31
【摘要】 1、服务层/// <summary>/// 删除指定路径下的所有文件/// </summary>/// <param name="filepath">指定路径</param>/// <returns></returns>public string DeleteSpecifiedPathAllFile(string filepath){ try { Directory...

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));
}

以上就是.net core 删除指定路径下的所有文件以及文件夹(文件夹建议保留目录)的介绍,做此记录,如有帮助,欢迎点赞关注收藏!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。