2017-01-14 6 views
-4
string[] list = Directory.GetFiles(countriesMainPath + "\\" + currentDownloadCountry, "*.jpg"); 

しかし、gifだけでなく、赤外線という名前が含まれているファイルも指定したいと思っています。たとえば、私はファイル名が0infrared.gifであり、また0visible.gifであり、赤外線であるすべてのファイルを取得したいとします。ディレクトリからファイル固有のファイル名を取得するにはどうすればよいですか?

+1

あなたのご意見は、あなたが '.gif'ファイルたいと言うが、あなたのコードは' .jpg'を言います。あなたはどれが欲しいですか? – Abion47

答えて

0
string partialName = "infrared"; 
DirectoryInfo dir = new DirectoryInfo(@"c:\"); 
FileInfo[] filesInDir = dir.GetFiles("*" + partialName + "*.*"); 
foreach (FileInfo foundFile in filesInDir) 
{ 
    string fullName = foundFile.FullName; 
    Console.WriteLine(fullName); 
}  
+0

これは '.jpg'や' .gif'sだけではなく、 "infrared"を含む_all_ファイルを取得します。 – Abion47

+0

これが何を望んでいるのか – Sajeetharan

+0

"私はその***を指定したいだけではありません*** ***それは含まれているファイルのみになります..." – Abion47

-1

多分*infrared*.(jpg|gif)これは、ファイル名で、拡張子がjpg赤外線を持つすべてのファイル

string[] list = Directory.GetFiles(countriesMainPath + "\\" + currentDownloadCountry, 
      "*infrared*.jpg"); 
+0

'Directory.GetFiles'メソッドは、2つのオプションの間で代入する方法としてパイプ文字をサポートしていません。 – Abion47

1

に動作しますファイル名。

1
string[] list = Directory.GetFiles(
    countriesMainPath + "\\" + currentDownloadCountry, 
    "*infrared*.*"); 

これは、すべてのファイルがその中に赤外線含ま戻りますあなたを取得します

+0

ようこそ!コードブロックの使い方を知るために[この記事を読む](http://stackoverflow.com/editing-help) –

1

私はこれがあなたが探しているかもしれないと思います。 REF:MSDN

public static string[] GetFiles(string path, string searchPattern, SearchOption searchOption) 
{ 
    string[] searchPatterns = searchPattern.Split('|'); 
    List<string> files = new List<string>(); 
    foreach (string sp in searchPatterns) 
     files.AddRange(System.IO.Directory.GetFiles(path, sp, searchOption)); 
    files.Sort(); 
    return files.ToArray(); 
} 

使用

var wantedImgs = GetFiles(
    dirYouWant, "*infrared*.jpg|*infrared*.gif", 
    earchOption.TopDirectoryOnly); 
関連する問題