很多时候不需要获取整个文件夹的文件,是需要获取文件夹里指定的文件。

那么 UWP 如何对文件夹里的文件进行过滤,只拿出自己需要的文件?

本文:如何使用通配符或文件匹配方式在uwp获取文件夹中指定的文件

如果阅读中发现有任何句子不通的,请告诉我 lindexi_gd@163.com

假如需要文件 有前缀”latest_” ,简单的方法是拿出 文件夹所有的文件,使用简单的对比,但是这样需要获取文件夹所有文件,速度比较慢。

    var previousInfo = (await rootFolder.GetFilesAsync()).Where(file => file.DisplayName.StartsWith("latest_")).FirstOrDefault();

一个好的方法是使用 Advanced Query Syntax

第一步,新建QueryOptions

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

上面的 ApplicationSearchFilter 就是根据 Using Advanced Query Syntax Programmatically (Windows) 写出对应判断

然后从当前的 文件夹 获取匹配

    StorageFileQueryResult queryResult = folder.CreateFileQueryWithOptions(queryOptions);

最后就是从结果拿出文件

    var files = await queryResult.GetFilesAsync(); 

参见:http://stackoverflow.com/a/43829407/6116637

UWP 获取指定后缀的文件

修改上面的 ApplicationSearchFilter 为下面格式就可以获得后缀

    System.FileExtension:=".后缀"

如获取 txt 可以使用

    queryOptions.ApplicationSearchFilter = "System.FileExtension:=\".txt\"";

设置后缀除了上面的方法,可以使用简单的设置

             var queryOptions = new QueryOptions();
queryOptions.FileTypeFilter.Add(".txt");

除了后缀,还可以设置文件大小

    System.Size: 

    System.Size: <1kb

如果有多个判断,使用 and 连接或 or 连接,但是关于他的语法文档很少。

如果需要的搜索是包括子文件夹的内容,请设置 queryOptions.FolderDepth

    queryOptions.FolderDepth = FolderDepth.Deep

参见:Advanced Query Syntax

https://docs.microsoft.com/en-us/uwp/api/windows.storage.search.queryoptions


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

win10 uwp 获取指定的文件 AQS的更多相关文章

  1. 2018-2-13-win10-uwp-获取指定的文件-AQS

    title author date CreateTime categories win10 uwp 获取指定的文件 AQS lindexi 2018-2-13 17:23:3 +0800 2018-2 ...

  2. 使用Python脚本获取指定格式文件列表的方法

    在Python环境下获取指定后缀文件列表的方式. 来源stackoverflow 这里简单以*.txt的作为例子. 使用glob(推荐) import glob, os os.chdir(" ...

  3. C#获取指定的文件是否是内部特殊版本的代码

    把内容过程经常用到的内容片段珍藏起来,下面的内容内容是关于C#获取指定的文件是否是内部特殊版本的内容,希望对各朋友有所用处. using System;using System.Diagnostics ...

  4. win10 uwp 获取按钮鼠标左键按下

    我们可以使用PointerPressed获得鼠标右键按下,但是我们如何获得左键? 其实UWP已经没有MouseLeftButtonDown,于是我们可以使用一个简单方法去获取鼠标左键按下. 我们在xa ...

  5. win10 uwp 保存用户选择文件夹

    如果我们每次把临时处理的文件保存,都要让用户选择一次,用户会不会觉得uwp垃圾?如果我们每次打开应用,都从某个文件读取,而这个文件不在应用目录和已知的目录,那么每次都需要用户选择,用户会不会觉得uwp ...

  6. 【Unity_UWP】Unity 工程发布win10 UWP 时的本地文件读取 (下篇)

    Universal Windows Platform(UWP)是微软Windows10专用的通用应用平台,其目的在于在统一操作系统下控制所有智能电子设备. 自从Unity 5.2之后,配合VS 201 ...

  7. 【Unity_UWP】Unity 工程发布win10 UWP 时的本地文件读取 (上篇)

    Universal Windows Platform(UWP)是微软Windows10专用的通用应用平台,其目的在于在统一操作系统下控制所有智能电子设备. 自从Unity 5.2之后,配合VS 201 ...

  8. win10 UWP 获取系统信息

    获取系统信息 Windows.System.Profile.AnalyticsVersionInfo analyticsVersion = Windows.System.Profile.Analyti ...

  9. win10 uwp 读取resw资源文件

    ResourceContext resourceContext = ResourceContext.GetForViewIndependentUse(); ResourceMap resourceMa ...

随机推荐

  1. 201521123049 《JAVA程序设计》 第6周学习总结

    1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖 ...

  2. 201521123027 《JAVA程序设计》第四周学习总结

    1.本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. ①多态:相同方法名,不同实现: ②instanceof运算符:判断父类引用所引用的对象实例的实 ...

  3. phpcms图文总结(转)

    转自:http://www.cnblogs.com/Braveliu/p/5074930.html 在实现PHPCMS网站过程中,根据业务需求,我们遇到很多问题,特此总结如下,以便大家参考学习. [1 ...

  4. SharePoint备份文件

    stp文件:SharePoint的.stp文件   在做一个和SharePoint有关的项目时,由于对SharePoint的unfamiliar,所以客户发了几个后缀为.stp的文件将我纳闷了半天,不 ...

  5. virtualbox修改主机名

    virtualbox修改主机名 /etc/hostname /etc/hosts

  6. net core 安装web模板

    ---恢复内容开始--- 今天想试试在Linux用C#开发WebAPI,查了下,要用: dotnet new -t Web 来建立工程,结果我试了下,出来这段: Invalid input switc ...

  7. java equals()方法

    java基础学习总结--equals方法 一.equals方法介绍 1.1.通过下面的例子掌握equals的用法 1 package cn.galc.test; 2 3 public class Te ...

  8. python文件名和文件路径操作

    Readme: 在日常工作中,我们常常涉及到有关文件名和文件路径的操作,在python里的os标准模块为我们提供了文件操作的各类函数,本文将分别介绍"获得当前路径""获得 ...

  9. android studio集成ijkplayer

    介绍 ijkplayer是一款非常火的开源视频播放器,android和IOS通用.关于怎么编译怎么导入android Studio中自己的项目,其中坑很多,本篇记录下自己的操作记录.ijkplayer ...

  10. 程序编译没错,运行报错:无法定位程序输入点GT_BufLaserFollowRatio(这是函数)于动态链接库GTS.DLL上

    :DLL里面没有导出该函数    :DLL没放进DEBUGS文件夹 (当时的情况是这个)