hand files

List, search, and manage files within shares.

Synopsis

hand files list <share_id> [--parent <ID>] [--limit <N>]
hand files search <share_id> <query> [--limit <N>]
hand files get <share_id> <file_id>
hand files update <share_id> <file_id> [--tags <TAGS>] [--metadata <JSON>]
hand files rename <share_id> <file_id> <new_path>
hand files mkdir <share_id> <path>
hand files delete <share_id> <file_id>
hand files scan <share_id> [--path <PATH>]
hand files discover <share_id> [--path <PATH>]
hand files stats <share_id> <parent_id>

Subcommands

files list <share_id>

List files in a share directory.

OptionDescription
--parent <ID>List files in a specific folder (default: root)
--limit <N>Maximum number of files to return
$ hand files list abc123
ID                    NAME              SIZE      TYPE
----------------------------------------------------------------
file-001...           document.pdf      2.5 MB    file
file-002...           photos            -         directory
file-003...           report.docx       1.2 MB    file

$ hand files list abc123 --parent file-002
# Lists files inside the "photos" directory

Search for files by name or extension.

$ hand files search abc123 "report"
ID                    NAME              PATH
----------------------------------------------------------------
file-003...           report.docx       /documents/report.docx
file-007...           report-2024.pdf   /archives/report-2024.pdf

$ hand files search abc123 ".pdf" --limit 10

files get <share_id> <file_id>

Get detailed information about a file.

$ hand files get abc123 file-001
ID: file-001...
Name: document.pdf
Path: /documents/document.pdf
Size: 2.5 MB
Type: file
Modified: 2024-01-15 10:30:45
Tags: work, important
Hash: sha256:abc123...

files update <share_id> <file_id>

Update file metadata.

OptionDescription
--tags <TAGS>Comma-separated tags
--metadata <JSON>Custom metadata as JSON
$ hand files update abc123 file-001 --tags "important,work"
File updated

$ hand files update abc123 file-001 --metadata '{"project": "alpha"}'

files rename <share_id> <file_id> <new_path>

Rename or move a file.

$ hand files rename abc123 file-001 "documents/renamed.pdf"
File renamed

files mkdir <share_id> <path>

Create a new directory.

$ hand files mkdir abc123 "new-folder"
Directory created: new-folder

$ hand files mkdir abc123 "parent/child/grandchild"
# Creates nested directories

files delete <share_id> <file_id>

Delete a file or directory.

$ hand files delete abc123 file-001
File deleted

files scan <share_id>

Scan a local share for file changes.

OptionDescription
--path <PATH>Only scan a specific subdirectory
$ hand files scan abc123
Scanning share...
Found 150 files, 23 directories
Added: 5, Modified: 2, Deleted: 1

$ hand files scan abc123 --path "documents"
# Scans only the documents folder

files discover <share_id>

Discover file metadata from a remote share.

$ hand files discover abc123
Discovering from remote...
Updated: 12 files

$ hand files discover abc123 --path "photos"
# Discovers only the photos folder

files stats <share_id> <parent_id>

Get statistics for a folder.

$ hand files stats abc123 root
Total Files: 150
Total Directories: 23
Total Size: 2.5 GB
Last Modified: 2024-01-15 10:30:45

Examples

Browse and search files

# List all shares
hand shares list

# List root files
hand files list <share_id>

# Search for PDFs
hand files search <share_id> ".pdf"

# Get file details
hand files get <share_id> <file_id>

Discover files from a remote share

# Discover shares from a contact
hand discovery shares friend@example.com

# Discover file metadata
hand files discover <share_id>

# List the discovered files
hand files list <share_id>

See Also