C# で名前と不明な拡張子でファイルを簡単に見つける賢い方法はありますか?
さまざまな種類の .jpg、.gif、および .png の画像を含む画像フォルダーがあります。そして、プログラムが知っているのは画像の名前だけで、拡張子は知りません。
大きな再帰的なリソース消費ループを行わずに、その名前でファイルを取得することは可能ですか?
メソッドを使用してEnumerateFiles
、検索パターンを指定できます。
var files = Directory.EnumerateFiles(@"c:\work", "somefilename.*");
これはもちろん、IEnumerable<string>
この検索パターンに一致するすべてのファイルの を返します。1 つしかないことがわかっている場合、またはリストの最初のものを取得したい場合は、それを LINQ でチェーンして、結果をさらにフィルター処理します。
はい、可能です。検索パターンを 2 番目のパラメーターとして受け入れるオーバーロードされたDirectory.GetFilesメソッドを使用します。
string[] files = Directory.GetFiles(@"c:\images", fileName + ".*");
いくつかのオプションがあります。