以编程方式在在线和离线之间移动OneDrive文件
本文关键字:之间 移动 OneDrive 文件 离线 编程 方式 在线 | 更新日期: 2023-09-27 18:05:05
我被要求编写一个小的任务托盘应用程序,它将帮助管理用户的本地驱动器空间-更具体地说,利用OneDrive的智能文件功能,使文件在离线时显示为离线
要求监视/检查用户OneDrive文件夹中的所有文件,如果它们在过去30天内没有更新,那么将它们设置为"仅在线"。
在文件资源管理器中,用户可以右键单击文件和文件夹并选择"仅在线",但目的是自动完成此操作。
我希望有一个属性或标志,我可以在c# . net中的File或FileInfo对象中设置,然后触发同步代理执行必要的操作。
这可能吗?
欢呼,罗伊
OneDrive的'Always keep on this device'菜单设置了Pinned
文件属性。'Free up space'菜单设置Unpinned
文件系统属性:
FILE_ATTRIBUTE_PINNED 0x00080000
FILE_ATTRIBUTE_UNPINNED 0x00100000
我猜OneDrive会监控这些属性,如果你改变它们,就会触发水合作用/脱水。
你也可以通过调用CfHydratePlaceholder() Windows API来触发水合作用。您可以通过调用CfUpdatePlaceholder()来脱水。
考虑到Windows 10目前缺乏智能文件,我不会花时间在这样的功能上,而且很可能大多数目前使用Windows 8.1的用户都会升级。