关闭

win10 uwp 获取指定的文件 AQS

标签: uwpwin10netC#文件
1224人阅读 评论(0) 收藏 举报
分类:

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

那么 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 ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

1
0
查看评论

win10 UWP 获取系统信息

获取系统信息 Windows.Desktop 10.0.10586.29 X86
  • lindexi_gd
  • lindexi_gd
  • 2015-12-13 10:28
  • 2436

UWP入门(九)-- 枚举和查询文件和文件夹

核心 API 所在的命名空间: Windows.Storage Windows.Storage.Streams Windows.Storage.Pickers 用它们三可以实现在文件中读取和写入文本和其他数据格式并管理文件和文件夹本文例子都是官方文档中的示例,只是里面代码对菜鸟不友好,我重新整理下。...
  • u011033906
  • u011033906
  • 2017-03-23 18:09
  • 687

win10 uwp 访问解决方案文件

本文讲如何访问解决方案的资源
  • lindexi_gd
  • lindexi_gd
  • 2016-09-23 16:37
  • 1762

win10 uwp 关联文件

有时候应用需要打开后缀名为x的文件,那么如何从文件打开应用?
  • lindexi_gd
  • lindexi_gd
  • 2017-03-15 09:14
  • 1210

win10 uwp 获得缩略图

有时候需要获得文件或视频的缩略图。 本文提供两个方法,用于获得文件的缩略图和截取视频指定时间的显示图片。
  • lindexi_gd
  • lindexi_gd
  • 2017-06-29 09:59
  • 1046

win10 uwp 保存用户选择文件夹

如果我们每次把临时处理的文件保存,都要让用户选择一次,用户会不会觉得uwp垃圾?如果我们每次打开应用,都从某个文件读取,而这个文件不在应用目录和已知的目录,那么每次都需要用户选择,用户会不会觉得uwp垃圾?其实垃圾wr给了一个类,我们可以用这个类获得用户选择过的文件、文件夹。我们可以保存用户选择过的...
  • lindexi_gd
  • lindexi_gd
  • 2016-10-09 09:28
  • 2780

win10 uwp 获得元素绝对坐标

有时候需要获得一个元素,相对窗口的坐标,在修改他的位置可以使用。 那么 UWP 如何获得元素坐标? 我提供了一个方法,可以获得元素的坐标。
  • lindexi_gd
  • lindexi_gd
  • 2017-06-27 09:09
  • 946

win10 uwp 打开文件管理器选择文件

本文:让文件管理器选择文件,不是从文件管理器获得文件。 假如已经获得一些文件,那么如何从文件管理器选择这些文件?
  • lindexi_gd
  • lindexi_gd
  • 2017-04-28 09:04
  • 1337

讲讲我在Windows10(uwp)开发中遇到的一些坑

7月29日发布的Windows10正式版,当天安装好以后,在网络不太好的情况下,经过多次尝试终于装上了Visual Studio 2015和Windows 10 10240的SDK.这两周一直在开发UWP,讲讲在其中遇到的一些坑,不定时更新,有兴趣的可以关注下. 1.DataType在UWP中缺失...
  • igweyou
  • igweyou
  • 2015-12-22 10:12
  • 4068

win10 uwp 截图 获取屏幕显示界面保存图片

本文主要讲如何保存我们的屏幕显示的,保存为图片,也就是截图,截我们应用显示的。我们来总的说下,就是用一个滚动条把我们的一个Grid放进去,然后Grid里面存在一张图片和一个TextBlock,图片就是我们需要加水印的,TextBlock就是水印,水印颜色最好渐变,然后使用获取元素图片截图。保存截图就...
  • lindexi_gd
  • lindexi_gd
  • 2016-11-29 10:33
  • 2569
    个人资料
    • 访问:628612次
    • 积分:9198
    • 等级:
    • 排名:第2408名
    • 原创:240篇
    • 转载:16篇
    • 译文:25篇
    • 评论:240条
    博客专栏
    文章分类
    最新评论