none
UWP如何枚举%APPDATA%目录中的文件? RRS feed

  • 问题

  • 已声明限制功能broadFileSystemAccess,隐私设置里也允许了应用访问文件系统。使用FolderPicker要求用户选取文件夹。用户选其他文件夹都没问题,但如果选的是%APPDATA%及其子文件夹,取得的StorageFolder无法使用GetFilesAsync,报错Value does not fall in expected range.

    这个%APPDATA%文件夹是有什么特殊的保护吗?要如何才能枚举其中的文件?

    有趣的是,连系统自带的照片应用似乎也无法访问该文件夹(可以打开其中的图像文件,但是不能在文件夹中枚举)。难道这个功能完全不可能用UWP实现?

    需要实现的功能是,后台定时检查用户指定的文件夹中的文件(具体文件名和文件数目均无法在编译时知道,所以必须得有枚举权限)有无变化,有变化时通知用户,因此需要能够访问所有用户自己有权访问的位置。
    • 已编辑 磷蓉 2021年2月21日 12:17
    2021年2月21日 12:05

答案

  • 我想你可以这样做,使用desktop extension 读取该文件夹内容,把读取到的内容通过AppService 发送到UWP客户端,当然你使用纯桌面应用也是可以的

    "Developing Universal Windows apps" forum will be migrating to a new home on Microsoft Q&A (Preview)!
    We invite you to post new questions in the "Developing Universal Windows apps" forum’s new home on Microsoft Q&A (Preview)!
    For more information, please refer to the sticky post.

    • 已标记为答案 磷蓉 2021年4月5日 6:54
    2021年3月2日 1:49

全部回复

  • 你好,

    我需要和你确认一下, APPDATA 文件夹的位置,它是处在用户账户文件夹中的那个吗?而且它的默认属性是隐藏类型的。


    "Developing Universal Windows apps" forum will be migrating to a new home on Microsoft Q&A (Preview)!
    We invite you to post new questions in the "Developing Universal Windows apps" forum’s new home on Microsoft Q&A (Preview)!
    For more information, please refer to the sticky post.

    2021年2月22日 2:45
  • 是的!C:\Users\<用户名>\AppData,环境变量%APPDATA%
    2021年2月25日 0:58
  •  感谢你的反馈,的确如此, AppData 是有某些功能限制,但是目前没有文档说明这些,系统默认设置该文件夹是隐藏属性,目的是不期望用户手动更改文件内容,其中包含安装 UWP 应用的本地数据,如果被删除可能导致uwp 应用丢失设置或者本地数据库内容,我们不推荐用户访问该文件夹进行修改或者添加。

    "Developing Universal Windows apps" forum will be migrating to a new home on Microsoft Q&A (Preview)!
    We invite you to post new questions in the "Developing Universal Windows apps" forum’s new home on Microsoft Q&A (Preview)!
    For more information, please refer to the sticky post.

    2021年2月26日 1:41
  • 不需要任何添加修改删除,只是单纯枚举文件夹、读取文件,完全是只读操作也不行吗?

    没办法的话就只好改用桌面应用了。

    2021年2月26日 11:58
  • 我想你可以这样做,使用desktop extension 读取该文件夹内容,把读取到的内容通过AppService 发送到UWP客户端,当然你使用纯桌面应用也是可以的

    "Developing Universal Windows apps" forum will be migrating to a new home on Microsoft Q&A (Preview)!
    We invite you to post new questions in the "Developing Universal Windows apps" forum’s new home on Microsoft Q&A (Preview)!
    For more information, please refer to the sticky post.

    • 已标记为答案 磷蓉 2021年4月5日 6:54
    2021年3月2日 1:49