首页 > 解决方案 > 浏览目录中的所有文件夹

问题描述

有没有办法通过目录中的文件夹?我找不到解决方案,这里有一个例子:

While (found folder) 
{
   Go to the folder

   If (there is no folder to go in) 
   {
      Go back from folder and skip the first folder
      where you were before and go to next if found
      and if not then go back, and so on... 
   } 
} 

我希望这已经足够解释了。

顺便说一句:我需要这个用于防病毒软件,而且我知道,要构建一个你不应该使用 c# 的防病毒软件,假设它是供个人使用的。

标签: c#

解决方案


目前还不清楚你想要什么,但我假设你想逐个文件夹扫描硬盘文件夹,获取每个文件夹中的文件列表。

如果你想要的只是所有文件的列表,你可以问Directory.GetFiles("c:\\", "*", SearchOption.AllDirectories),这需要一些时间,然后给你一个每个文件的海量列表。命名为 EnumerateFile* 的推论方法做类似的事情,通过文件路径字符串或 FileSystemInfo 对象的集合返回一个枚举器

如果您想要对哪些目录进行更细粒度的控制,Directory 还具有获取/枚举目录的方法 - 采用字符串、字符串、SearchOption 的重载允许您指定是否只希望列出命名目录,或者是否希望运行时为您搜索所有子目录。您选择哪个可能取决于您希望如何向用户提供有关当前正在搜索的目录的反馈 - Get* 方法等到整个搜索完成后再给您结果;您必须等待,但随后您知道 dactyl 您正在处理多少个文件(进度条?),Enumerate* 更快地返回结果(同时搜索磁盘的过程正在进行中)。但你事先并不知道完整的清单,所以你只能展示你目前正在做的事情,


推荐阅读