如何查看Sub Dir的

时间:2012-03-17 10:42:57

标签: c#

使用M.Babcock代码根据文件名的“模式”获取文件列表,但下面的代码完成了这项工作但不查看子目录中的文件。任何帮助如何查看Sub Dir中的文件模式

我知道如果使用以下代码就可以完成这项工作

DirectoryInfo[] DI = new DirectoryInfo(rootdir).GetDirectories("*.*", SearchOption.AllDirectories ) ;

但是我无法理解如何更改他的代码以查看sub dir中的文件

M.Babcock代码

var getfiles = new fileshare.Program();
string realname = "*main*";
string Location = "SVR01";
var fileList = getFiles.GetFileList(realname, Location);
var anymatch = fileList.Any();

if (anymatch) // Or possibly `if (fileList.Any())` if anymatch isn't 
              // really used anywhere else
    baseMeta();

foreach (var file in getfiles.GetFileList(realname,Location))
    getfiles.copytolocal(file.FullName);
 switch (Location)
    {
        case "SVR01":
            directory = @"\\SVR01\Dev";
        break;

        case "SVR02":
            directory = @"\\SVR02\Dev";
        break;

        case "SVR03":
            directory = @"\\SVR03\Prod");
        break;

        default: 
            throw new ArgumentOutOfRangeException();

    }

    DirectoryInfo di = null;
    try
    {
        di = new DirectoryInfo(directory);
    }
    catch(Exception ex)
    {
        Console.WriteLine(ex.Message);
        yield break;
    }

    foreach(var fi in di.EnumerateFiles(pattern))
        yield return fi;
}

先谢谢

1 个答案:

答案 0 :(得分:2)

您可以为正在使用的EnumerateFiles方法提供相同的SearchOption参数:

foreach(var fi in di.EnumerateFiles(pattern, SearchOption.AllDirectories))
    yield return fi;