我正在尝试根据其部分名称在UWP中获取单个文件。基本上,我想在给定的文件夹中选择以“latest_”开头的文件。 现在我可以用那个命令做到这一点:
var previousInfo = (await rootFolder.GetFilesAsync()).Where(file => file.DisplayName.StartsWith("latest_")).FirstOrDefault();
我认为如果文件夹中有很多文件,这段代码效率不高......
有更简单的方法吗?像:
var previousInfo2 = await rootFolder.GetFileAsync("latest_*");
或者:
var previousInfo2 = await rootFolder.GetFileAsync(@"latest_*");
现在这段代码抛出异常(无效参数)。关于这个函数的MSDN文档非常简单:它只是说该函数将一个字符串作为参数...
谢谢!
答案 0 :(得分:5)
您可以使用Advanced Query Syntax执行此操作,事实上,您可以通过更多文件元数据进行过滤/搜索。以下是基于文件名的搜索示例。
var queryOptions = new QueryOptions();
queryOptions.ApplicationSearchFilter = "System.FileName:latest_*";
StorageFileQueryResult queryResult = rootFolder.CreateFileQueryWithOptions(queryOptions);
var files = await queryResult.GetFilesAsync();