【问题标题】:UWP: GetFileAsync on a partial path?UWP:部分路径上的 GetFileAsync?
【发布时间】:2017-05-06 20:44:53
【问题描述】:

我正在尝试根据部分名称在 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 文档非常简单:它只是说该函数将一个字符串作为参数...
谢谢!

【问题讨论】:

    标签: c# file uwp window win-universal-app


    【解决方案1】:

    您可以使用Advanced Query Syntax 来做到这一点,事实上,您可以过滤/搜索更多文件元数据。下面是一个基于文件名的搜索示例。

    var queryOptions = new QueryOptions();
    queryOptions.ApplicationSearchFilter = "System.FileName:latest_*";
    
    StorageFileQueryResult queryResult = rootFolder.CreateFileQueryWithOptions(queryOptions);
    
    var files = await queryResult.GetFilesAsync(); 
    

    【讨论】:

    • 整洁!正是我想要的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2018-02-21
    • 1970-01-01
    • 1970-01-01
    • 2017-10-20
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 2016-08-19
    相关资源
    最近更新 更多