2013-08-13 3 views
1

Как я могу проверить, нет ли в каталоге xls? Я попробовал этот код, но он не работает ...Проверить файл xls не существует

if (!System.IO.File.Exists(".xls")) 
{ 
    MessageBox.Show("No XLS dile found"); 
} 
+0

*** Дубликат вопрос был 4 лет *** Джон тарелочкам ответы. с новым методом Directory.EnumerateFiles. – Win

ответ

10

В настоящее время вы ищете файл одного называется .xls. Вместо этого вы должны использовать Directory.EnumerateFiles:

if (!Directory.EnumerateFiles(directory, "*.xls").Any()) 
{ 
    ... 
} 

Или, если вы собираетесь хотите файлы в любом случае, используйте Directory.GetFiles:

string[] files = Directory.GetFiles(directory, "*.xls"); 
if (files.Length == 0) 
{ 
    ... 
} 
else 
{ 
    // Handle the files 
} 

(Обратите внимание, что EnumerateFiles был введен в .NET 4, вы можете использовать GetFiles в обоих случаях, конечно, это просто уборщик использовать EnumerateFiles, когда вы можете.)

0

может быть, это не идеально, но просто :)

var files = Directory.GetFiles(directory); 
if(!files.Any(x=>x.EndsWith(".xls"))) 
{ 
    MessageBox.Show("No XLS dile found"); 
} 
1

Try:

if (!Directory.EnumerateFiles(path, "*.xls").Any()) { ... } 
2

Try This

  if (!System.IO.Directory.GetFiles("C:\\path", "*.xls", SearchOption.AllDirectories).Any()) 
     { 
      MessageBox.Show("No XLS dile found"); 
     } 
1

Это сделает

if (!System.IO.Directory.GetFiles("C:\\Users\\admin\\Desktop", "*.xls", System.IO.SearchOption.AllDirectories).Any()) 
{ 
    Console.WriteLine("*.xls files not found"); 
} 
else 
{ 
    Console.Write("*.xls files exist"); 
} 
Смежные вопросы