如何搜索具有未知目录的文件并将其删除

本文关键字:文件 删除 未知 何搜索 搜索 | 更新日期: 2023-09-27 18:24:57

我正在尝试制作一个程序,该程序将在所有硬盘上搜索文件,并在找到后将其删除。但我不知道如何开始做这件事?

此外,我对C#的某些方面的编码还相当陌生。有没有可能获得一个如何在操作中使用代码的示例?如果是这样的话,那将非常有帮助。

如何搜索具有未知目录的文件并将其删除

您可以使用DriveInfo.GetDrives()获取所有驱动器。然后是每个驱动器的RootDirectory上的Directory.GetFiles()(或用于迭代驱动器的任何其他Directory方法)。您可能应该在每个驱动器上检查DriveType,并省略任何只读类型,如CDROM和有限访问网络驱动器。请注意,这可能需要一些时间,因此您应该为用户提供充足的反馈。

您还应该检查文件属性,以确保您具有写访问权限。或者至少捕获File.Delete()可以引发的任何异常。

  • 驱动器信息
  • 目录
  • 文件

类似于:

FileInfo[] files = Directory.GetFiles("C:'", "file.ext", SearchOption.AllDirectories);    

这不是经过测试的代码,但它应该返回一个FileInfo对象数组,每个对象对应在驱动器C:''上找到的与给定名称匹配的文件。指定SearchOption.AllDirectories可确保对所有文件夹进行任意深度的搜索。

如果你需要搜索多个驱动器,你需要为每个驱动器调用这个,可能是循环调用。

文件如下:http://msdn.microsoft.com/en-us/library/ms143316.aspx.

听起来你想在一些文件夹中搜索一个文件。从Directory类中的方法(如Directory.GetDirectories和Directory.GetFiles)开始查找文件。

除了Richard Cox的答案之外,如果您想知道如何遍历所有子目录,请参阅此处的第二个示例:http://msdn.microsoft.com/en-us/library/system.io.directoryinfo.aspx