删除文件夹遇见错误0x80070091目录不是空的

2024-09-06 00:36

本文主要是介绍删除文件夹遇见错误0x80070091目录不是空的,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

用java代码转移文件夹的时候发生了一点错误,导致递归生成了很多文件夹,删除文件夹的时候遇见错误0x80070091目录不是空的

有点恐慌,不会被我搞坏了吧。

一开始以为是权限问题,用命令"rd /s /q xxx"强删也不行。重启电脑再删除还是报这个错误。

搜了一下,看见有说往最后一个文件夹放一个txt文件,再删除就可以了。

用java程序放了一个(代码星火写的)

import java.io.File;
import java.io.IOException;

public class Main {
    public static void main(String[] args) {
        File rootDir = new File("D:/aaa");
        File lastEmptyFolder = findLastEmptyFolder(rootDir);
        if (lastEmptyFolder != null) {
            File testFile = new File(lastEmptyFolder, "test.txt");
            try {
                if (testFile.createNewFile()) {
                    System.out.println("test.txt 文件已创建在:" + testFile.getAbsolutePath());
                } else {
                    System.out.println("无法创建 test.txt 文件。");
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        } else {
            System.out.println("未找到空文件夹。");
        }
    }

    private static File findLastEmptyFolder(File dir) {
        File[] files = dir.listFiles();
        if (files == null || files.length == 0) {
            return dir; // 如果当前目录为空,则返回当前目录
        }
        File lastEmptyFolder = null;
        for (File file : files) {
            if (file.isDirectory()) {
                lastEmptyFolder = findLastEmptyFolder(file); // 递归查找子目录
                if (lastEmptyFolder != null) {
                    break; // 一旦找到空文件夹,立即停止搜索
                }
            }
        }
        return lastEmptyFolder;
    }
}

尽管有了txt文件,再删除还是报这个错误

 

本着不屈不饶的精神,然后问了一下星火怎么解决这个问题

星火说,这还不简单,你递归删除呗

然后啪的一下给了我python代码

我很倔强,让它换成java了

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class DeleteFolder {
    public static void main(String[] args) {
        String folderPath = "your_folder_path"; // 替换为你要删除的文件夹路径
        deleteFolderRecursively(new File(folderPath));
    }

    private static void deleteFolderRecursively(File folder) {
        if (folder.isDirectory()) {
            for (File file : folder.listFiles()) {
                deleteFolderRecursively(file);
            }
        }
        try {
            Files.delete(folder.toPath());
            System.out.println("已成功删除:" + folder.getAbsolutePath());
        } catch (IOException e) {
            System.err.println("删除文件或文件夹时出错:" + folder.getAbsolutePath() + " - " + e.getMessage());
        }
    }
}

调用了一下,会报错,赶紧停掉

不甘心再调,还是报错

我想着到底删掉了一些文件夹没有

给代码里加了数字,看了一下,确实是有在删除的

在给最后一个空文件夹建txt文件的时候就看到了我的文件夹数量太多了 1000+

最后多调用了几次递归删除,报错不管它,然后就删掉了

这叫毒药附近就有解药么,哈哈

因为是特殊的断网环境,所以不能用别的软件。能用java解决了,也蛮好。特此记录一下。

 

这篇关于删除文件夹遇见错误0x80070091目录不是空的的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1140504

相关文章

在MySQL执行UPDATE语句时遇到的错误1175的解决方案

《在MySQL执行UPDATE语句时遇到的错误1175的解决方案》MySQL安全更新模式(SafeUpdateMode)限制了UPDATE和DELETE操作,要求使用WHERE子句时必须基于主键或索引... mysql 中遇到的 Error Code: 1175 是由于启用了 安全更新模式(Safe Upd

docker如何删除悬空镜像

《docker如何删除悬空镜像》文章介绍了如何使用Docker命令删除悬空镜像,以提高服务器空间利用率,通过使用dockerimage命令结合filter和awk工具,可以过滤出没有Tag的镜像,并将... 目录docChina编程ker删除悬空镜像前言悬空镜像docker官方提供的方式自定义方式总结docker

SpringBoot中的404错误:原因、影响及解决策略

《SpringBoot中的404错误:原因、影响及解决策略》本文详细介绍了SpringBoot中404错误的出现原因、影响以及处理策略,404错误常见于URL路径错误、控制器配置问题、静态资源配置错误... 目录Spring Boot中的404错误:原因、影响及处理策略404错误的出现原因1. URL路径错

使用Python在Excel中插入、修改、提取和删除超链接

《使用Python在Excel中插入、修改、提取和删除超链接》超链接是Excel中的常用功能,通过点击超链接可以快速跳转到外部网站、本地文件或工作表中的特定单元格,有效提升数据访问的效率和用户体验,这... 目录引言使用工具python在Excel中插入超链接Python修改Excel中的超链接Python

Android kotlin语言实现删除文件的解决方案

《Androidkotlin语言实现删除文件的解决方案》:本文主要介绍Androidkotlin语言实现删除文件的解决方案,在项目开发过程中,尤其是需要跨平台协作的项目,那么删除用户指定的文件的... 目录一、前言二、适用环境三、模板内容1.权限申请2.Activity中的模板一、前言在项目开发过程中,尤

C#实现添加/替换/提取或删除Excel中的图片

《C#实现添加/替换/提取或删除Excel中的图片》在Excel中插入与数据相关的图片,能将关键数据或信息以更直观的方式呈现出来,使文档更加美观,下面我们来看看如何在C#中实现添加/替换/提取或删除E... 在Excandroidel中插入与数据相关的图片,能将关键数据或信息以更直观的方式呈现出来,使文档更

Python脚本实现自动删除C盘临时文件夹

《Python脚本实现自动删除C盘临时文件夹》在日常使用电脑的过程中,临时文件夹往往会积累大量的无用数据,占用宝贵的磁盘空间,下面我们就来看看Python如何通过脚本实现自动删除C盘临时文件夹吧... 目录一、准备工作二、python脚本编写三、脚本解析四、运行脚本五、案例演示六、注意事项七、总结在日常使用

Git中恢复已删除分支的几种方法

《Git中恢复已删除分支的几种方法》:本文主要介绍在Git中恢复已删除分支的几种方法,包括查找提交记录、恢复分支、推送恢复的分支等步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录1. 恢复本地删除的分支场景方法2. 恢复远程删除的分支场景方法3. 恢复未推送的本地删除分支场景方法4. 恢复

使用Python实现在Word中添加或删除超链接

《使用Python实现在Word中添加或删除超链接》在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能,本文将为大家介绍一下Python如何实现在Word中添加或... 在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能。通过添加超

mac中资源库在哪? macOS资源库文件夹详解

《mac中资源库在哪?macOS资源库文件夹详解》经常使用Mac电脑的用户会发现,找不到Mac电脑的资源库,我们怎么打开资源库并使用呢?下面我们就来看看macOS资源库文件夹详解... 在 MACOS 系统中,「资源库」文件夹是用来存放操作系统和 App 设置的核心位置。虽然平时我们很少直接跟它打交道,但了