【问题标题】:Delete Folders and Containing Files删除文件夹和包含文件
【发布时间】:2011-01-15 13:09:00
【问题描述】:

我有一个非常简短的问题。我的程序实际上会下载一个 zip 文件,然后将其解压缩到他们的桌面上。但我需要一个卸载功能,它基本上是删除多个文件夹并包含文件。如何在 vb.net 中做到这一点?

【问题讨论】:

    标签: vb.net visual-studio-2010 directory delete-file


    【解决方案1】:

    .NET IO 单元有两个命令可以让您完成任务:

    System.IO.Directory.GetDirectories("C:\\Program Files\\Your Directory\\*.*");
    System.IO.Directory.GetFiles("C:\\Program Files\\Your Directory\\*.*");
    

    我将编写一个方法,该方法采用目录名称并使用“GetFiles”例程来获取所有文件并在 foreach 循环中使用 System.IO.File.Delete(path) 删除它们。然后,对 GetDirectories() 命令递归调用函数的结果运行 foreach 循环。

    更新:Steve Danner 指出 System.IO.Directory 命名空间有一个 Delete 方法,因此您不需要经历我在这里讨论的循环。 他的答案是正确的,应该被投赞成票。我的,在这一点上,更多的是好奇(尽管感谢给我投赞成票的人;0)。

    【讨论】:

      【解决方案2】:

      如果您的所有文件夹都包含在一个文件夹中,那应该很简单。

      Dim path As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\YOURPATH"
      System.IO.Directory.Delete(path, True)
      

      这将删除你的根目录,以及它下面的所有目录和文件。如果您的文件和目录不都在一个根目录中,例如示例中的“YOURPATH”,您可以多次调用它。这将使您不必单独删除每个文件。

      【讨论】:

      • +1 - 从来没有删除过目录,我没想过在 Directory 对象中查找 Delete 方法。这个答案比我的好。
      【解决方案3】:
      Dim path As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\YOURPATH"
      System.IO.Directory.Delete(path, True)
      

      【讨论】:

      • 添加一点描述会让你的答案更有品味
      【解决方案4】:

      您正在寻找 DirectoryInfo,这样使用它:

      Dim di As New IO.DirectoryInfo(path)
      di.Delete(True)
      

      【讨论】:

        猜你喜欢
        • 2012-07-24
        • 1970-01-01
        • 2015-09-14
        • 2020-12-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-03
        • 2020-04-02
        相关资源
        最近更新 更多