com.wkoorts.CloudFileStatusManager
1.0.5
dotnet add package com.wkoorts.CloudFileStatusManager --version 1.0.5
NuGet\Install-Package com.wkoorts.CloudFileStatusManager -Version 1.0.5
<PackageReference Include="com.wkoorts.CloudFileStatusManager" Version="1.0.5" />
<PackageVersion Include="com.wkoorts.CloudFileStatusManager" Version="1.0.5" />
<PackageReference Include="com.wkoorts.CloudFileStatusManager" />
paket add com.wkoorts.CloudFileStatusManager --version 1.0.5
#r "nuget: com.wkoorts.CloudFileStatusManager, 1.0.5"
#:package com.wkoorts.CloudFileStatusManager@1.0.5
#addin nuget:?package=com.wkoorts.CloudFileStatusManager&version=1.0.5
#tool nuget:?package=com.wkoorts.CloudFileStatusManager&version=1.0.5
Cloud File Status Manager
Description
This is a .NET library and CLI utility for reading & managing the hydration and pin status of files on cloud drives like iCloud Drive or OneDrive.
Packages
- CloudFileStatusManager
- Contains the
ICloudFileStatusManagerinterface, and enums for the hydration and pin status of files. This is a cross-platform package and required in all cases.
- Contains the
- CloudFileStatusManager.Windows
- Contains the Windows implementation of the
ICloudFileStatusManagerinterface. You also need this one in all cases at the moment because Windows is the only supported platform, but there will be a macOS version in the future.
- Contains the Windows implementation of the
Features
- Read the hydration status (whether or not the file has been downloaded locally) of files on cloud drives.
- Manage the hydration status of files on cloud drives (hydrate or dehydrate files).
Limitations
- Tested only with iCloud Drive and OneDrive, but may work for other providers. I suspect that any cloud drive which is implemented with the Windows Cloud Filter API will probably work.
- Initially only supports Windows, but I need a Mac implementation for a project I'm working on, so I'll probably add that soon if it makes sense under the same interfaces.
Project & Package Structure
- CloudFileStatusManager project
- Produces the CloudFileStatusManager package (
com.wkoorts.CloudFileStatusManager). - Contains the
ICloudFileStatusManagerinterface, and enums for the hydration and pin status of files.
- Produces the CloudFileStatusManager package (
- CloudFileStatusManager.Windows project
- Produces the CloudFileStatusManager.Windows package (
com.wkoorts.CloudFileStatusManager.Windows). - Contains the Windows implementation of the
ICloudFileStatusManagerinterface.
- Produces the CloudFileStatusManager.Windows package (
- CloudFileStatusManager.CLI.Windows project
- This is a command-line interface for
CloudFileStatusManager.Windows. - Produces no package.
- This is a command-line interface for
Using the CLI
Binaries for the CLI are available to download from the Releases page.
$ ./cfsm.exe --help
Description:
Cloud File Status Manager CLI for Windows
Usage:
cfsm [command] [options]
Options:
-v, --verbose Show verbose output
--version Show version information
-?, -h, --help Show help and usage information
Commands:
is-on-cloud-storage <file> Check if a file is on cloud storage
get-hydration-status <file> Get the hydration status of a file
get-pin-status <file> Get the pin status of a file
hydrate <file> Hydrate a file
dehydrate <file> Dehydrate a file
Acknowledgements
Thank you to Hunter Ratliff, who explained how file attributes in Windows represent the various states of files on cloud drives in this blog post.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on com.wkoorts.CloudFileStatusManager:
| Package | Downloads |
|---|---|
|
com.wkoorts.CloudFileStatusManager.Windows
A C# library for managing the hydration status of files on cloud drives like iCloud Drive or OneDrive. This package contains the Windows implementation of ICloudFileStatusManager. |
GitHub repositories
This package is not used by any popular GitHub repositories.