`
happmaoo
  • 浏览: 4472045 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Directory Delete删除时出现访问被拒绝的错误

 
阅读更多

这种一般是由于文件夹中有只读文件引起的,解决方法可已通过对文件的删除来解决

/// <summary>

/// 递归删除文件夹,避免只读文件导致删除不了的情况

/// </summary>

/// <param name="dir">文件夹全路径</param>

private static void DeleteDir(string dir)

{

if (Directory.Exists(dir)) //判断是否存在

{

foreach (string childName in Directory.GetFileSystemEntries(dir))//获取子文件和子文件夹

{

if (File.Exists(childName)) //如果是文件

{

FileInfo fi = new FileInfo(childName);

if (fi.IsReadOnly)

{

fi.IsReadOnly = false; //更改文件的只读属性

}

File.Delete(childName); //直接删除其中的文件

}

else//不是文件就是文件夹

DeleteFolder(childName); //递归删除子文件夹

}

Directory.Delete(dir, true); //删除空文件夹

}

}

分享到:
评论

相关推荐

    DeleteDirectory

    在这个程序中,当遇到子目录时,`DeleteDirectory`会再次调用自身,传入子目录的路径,从而实现删除整个目录树。 为了确保程序的正确性,开发者进行了运行测试,这是软件开发过程中非常重要的一步,可以发现潜在的...

    delete_directory_file.rar_DeleteDirectory_delete file

    然而,当我们需要删除一个包含文件和子目录的整个目录时,不能直接使用`DeleteDirectory`,因为这会导致错误。这时我们需要递归地遍历目录,先删除所有子目录和文件,然后再删除空目录。以下是一个简单的递归删除...

    C#删除只读文件或文件夹(解决File.Delete无法删除文件)

    如果一个文件被标记为只读,`File.Delete()`函数会抛出一个异常,提示没有足够的权限来删除文件。为了避免这种情况,我们需要先更改文件的属性,将其从只读状态移除,然后再尝试删除。以下是一个简单的示例: ```...

    删除目录下所有文件的vb.net代码

    `File.Delete`和`Directory.Delete`分别用于删除文件和目录,`Directory.Delete`的第二个参数`True`表示即使目录非空也要删除,这是递归删除的关键。 这段代码在运行时会删除指定路径下的所有文件和子目录,并在...

    解决删除目录提示:System.IO.IOException: 目录不是空的。

    当你尝试使用`Directory.Delete()`方法删除一个非空目录时,如果没有指定`recursive`参数为`true`,系统会检查目录是否为空,如果非空则抛出IOException。 解决这个问题的方法主要有以下几点: 1. **递归删除**:...

    delete文件和目录

    System.out.println("目录及其所有内容已被删除。"); } else { System.out.println("指定的路径不存在或不是目录。"); } } ``` 3. **异常处理** 当操作文件或目录时,可能会遇到各种异常,如`...

    为什么Windows删除文件时提示拒绝访问.docx

    在Windows操作系统中,当尝试删除文件时收到“拒绝访问”的错误提示,这通常是因为当前用户没有足够的权限来操作该文件。文件可能被其他程序占用,或者其权限设置阻止了删除。以下是一些解决这个问题的方法: 1. **...

    文件目录删除工具directory eraser

    特别是对数据量大的文件(夹)进行删除操作时,有时过了十分钟还在提示“正在计算剩余时间”,终于耐不住点了“取消”,这下可就错上加错了,等待取消又要花上十分钟。 之所以资源管理器需要花费如此之巨的时间,...

    Novell.Directory.Ldap.dll

    Novell.Directory.Ldap.dll提供了丰富的异常类型,如LdapException,用于处理各种可能出现的错误情况。另外,合理设置连接池、重试策略和超时设置可以提高程序的稳定性和效率。 总的来说,Novell.Directory.Ldap....

    C# Directory类的操作

    Directory.Delete方法用来删除目录。该方法声明如下:public static void Delete(string path,bool recursive); 例如,下面的代码可以将c:\tempuploads\BackUp目录删除。 private void DeleteDirectory(){ ...

    Delete the specified folder

    在使用这些方法时,一定要谨慎,因为一旦文件或目录被删除,通常无法恢复。在执行任何删除操作前,确保备份重要数据,或在安全的环境中进行操作。 此外,如果在实际开发中,你可能会遇到多线程环境下的同步问题,...

    deleteSVN注册右击菜单中删除SVN文件夹

    标题 "deleteSVN注册右击菜单中删除SVN文件夹" 涉及的是在Windows操作系统中,如何移除Subversion(SVN)在文件资源管理器上下文菜单中的“删除SVN文件夹”选项。这通常是由于用户不再需要这个功能,或者想要清理...

    解决hive报hdfs exceeded directory item limit错误

    这个问题通常出现在Hive任务异常中断或失败后,由于Hive会在指定的`hive.exec.scratchdir`配置目录下生成临时目录,正常情况下这些目录会在任务完成后被自动删除,但异常情况可能导致它们被遗留下来。 为了解决这个...

    最快的删除大文件工具Directory.Eraser

    在使用Directory.Eraser时,用户可以选择要删除的文件或者整个目录,软件会立即进行扫描并列出占用空间较大的文件,用户可以根据需要选择删除。对于那些难以删除或者被系统锁定的文件,Directory.Eraser通常能够通过...

    Directory for Speed,文件夹快速访问工具,可以在你右键直接访问常用目录

    "Directory for Speed"是一款专为提高用户访问常用文件夹效率而设计的软件工具。这款工具的核心功能在于,它允许用户通过右键菜单直接快速跳转到预先设定的常用目录,从而极大地简化了在电脑文件系统中的导航过程,...

    Batch Delete File

    在ASP.NET环境中,批量删除文件是一项常见的操作,特别是在处理用户上传、日志清理或系统维护时。`Batch Delete File`这个标题暗示了我们要探讨的是如何在ASP.NET中实现这一功能。`InsusIOUtility`标签可能指的是一...

    java删除本地文件.txt

    本文详细介绍了如何使用Java程序删除本地文件,包括创建`File`对象、使用`delete()`方法删除文件以及处理可能出现的异常情况。此外,还提供了一个递归删除目录及其包含的所有文件的方法。通过这些知识,开发者可以更...

    ldap_delete.rar_c++ ldap_ldap_ldap删除条目

    在处理这类任务时,一定要注意错误处理和安全性,确保只有授权的用户才能执行删除操作,并且要正确处理可能出现的网络问题或其他异常情况。 总结起来,通过C++与LDAP服务器交互,我们可以实现对目录服务的高级操作...

    C#删除文件夹源代码

    如果存在,`Directory.Delete()`被调用,第二个参数`true`表示即使目录不为空也要删除,这将递归删除所有子目录和文件。 然而,`Directory.Delete()`可能会抛出异常,例如`DirectoryNotFoundException`(如果目录不...

    VB.developers.set.code.delete.files.rar_vb 删除 .文件

    5. **垃圾回收**:虽然VB会自动管理内存,但在删除文件后,确保不再引用该文件,可以帮助释放资源,避免出现“文件正在被使用”的错误。 6. **日志记录**:在生产环境中,记录文件删除操作可以帮助追踪和审计,特别...

Global site tag (gtag.js) - Google Analytics