1

ディレクトリにxlsが見つからないことを確認するにはどうすればよいですか? 以下のコードを試してみましたが、うまくいきません...

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

5 に答える 5

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できます。)

于 2013-08-13T12:45:43.300 に答える
2

これを試して

            if (!System.IO.Directory.GetFiles("C:\\path", "*.xls", SearchOption.AllDirectories).Any())
        {
            MessageBox.Show("No XLS dile found");
        }
于 2013-08-13T12:56:27.427 に答える
1

試す:

if (!Directory.EnumerateFiles(path, "*.xls").Any()) { ... }
于 2013-08-13T12:46:31.237 に答える
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");
}
于 2013-08-13T13:04:01.977 に答える
0

完璧ではないかもしれませんが、単純です:)

var files = Directory.GetFiles(directory);
if(!files.Any(x=>x.EndsWith(".xls")))
{
   MessageBox.Show("No XLS dile found");
}
于 2013-08-13T12:45:43.267 に答える