UWP:部分路径上的 GetFileAsync?
UWP: GetFileAsync on a partial path?
我正在尝试根据文件的部分名称获取 UWP 中的单个文件。基本上,我想 select 给定文件夹中以 "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 文档非常简单:它只是说该函数将一个字符串作为参数...
谢谢!
您可以使用 Advanced Query Syntax 来做到这一点,事实上,您可以 filter/search 使用更多的文件元数据。以下是基于文件名搜索的示例。
var queryOptions = new QueryOptions();
queryOptions.ApplicationSearchFilter = "System.FileName:latest_*";
StorageFileQueryResult queryResult = rootFolder.CreateFileQueryWithOptions(queryOptions);
var files = await queryResult.GetFilesAsync();
我正在尝试根据文件的部分名称获取 UWP 中的单个文件。基本上,我想 select 给定文件夹中以 "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 文档非常简单:它只是说该函数将一个字符串作为参数...
谢谢!
您可以使用 Advanced Query Syntax 来做到这一点,事实上,您可以 filter/search 使用更多的文件元数据。以下是基于文件名搜索的示例。
var queryOptions = new QueryOptions();
queryOptions.ApplicationSearchFilter = "System.FileName:latest_*";
StorageFileQueryResult queryResult = rootFolder.CreateFileQueryWithOptions(queryOptions);
var files = await queryResult.GetFilesAsync();