UWP:部分路径上的GetFileAsync?

ben*_*hka 2 c# window file win-universal-app uwp

我正在尝试根据其部分名称在UWP中获取单个文件.基本上,我想在给定的文件夹中选择以"latest_"开头的文件.现在我可以用那个命令做到这一点:

var previousInfo = (await rootFolder.GetFilesAsync()).Where(file => file.DisplayName.StartsWith("latest_")).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

我想如果文件夹中有很多文件,这段代码效率不高......
有没有更简单的方法呢?喜欢:

var previousInfo2 = await rootFolder.GetFileAsync("latest_*");
Run Code Online (Sandbox Code Playgroud)

要么:

var previousInfo2 = await rootFolder.GetFileAsync(@"latest_*");
Run Code Online (Sandbox Code Playgroud)

现在这段代码抛出异常(无效参数).关于这个函数的MSDN文档非常简单:它只是说该函数将字符串作为参数...
谢谢!

sau*_*abh 5

您可以使用高级查询语法执行此操作,实际上,您可以通过更多文件元数据进行过滤/搜索.以下是基于文件名的搜索示例.

var queryOptions = new QueryOptions();
queryOptions.ApplicationSearchFilter = "System.FileName:latest_*";

StorageFileQueryResult queryResult = rootFolder.CreateFileQueryWithOptions(queryOptions);

var files = await queryResult.GetFilesAsync(); 
Run Code Online (Sandbox Code Playgroud)