2012-03-17 3 views
0

M.Babcockコードを使用していますが、ファイル名の "パターン"に基づいてファイルリストを取得しますが、下のコードはジョブを実行しますが、サブディレクトリ内のファイルは検索しません。ジョブにSub Dirのチェック方法

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

あなたが使用しているEnumerateFiles方法に同じSearchOption引数を提供することができます:それはしないように

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

感謝感謝感謝tooooonを、;,ディ=新しいDirectoryInfo(ディレクトリ)にしようか、遊んで維持していますあなたの助けにはうれしい – Usher

関連する問題