2012-03-17 83 views
0

上午使用M.Babcock代码根据文件名称的“模式”获取文件列表,但下面的代码执行作业,但不查找子目录中的文件。任何帮助如何看待在子迪尔公司也如何检查子目录的

文件模式我知道,如果使用下面的代码将做的工作

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

但我不明白我怎么可以改变他的代码来查找文件在子目录的也

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; 
} 

在此先感谢

回答

2

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

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

感谢感谢感谢一个tooooon,我继续尝试或DI =新DirectoryInfo的(目录)打;,所以也没有工作。真棒为您的帮助 – Usher 2012-03-17 10:48:39