Skip to content

Bulk File Operations

Efficiently manage large numbers of files using bulk actions, batch processing, and automation.

Available bulk actions:

• Bulk upload
• Bulk delete
• Bulk tag
• Bulk product mapping
• Bulk settings update
• Bulk download generation
• Bulk export

Benefits:

✓ Save time
✓ Reduce errors
✓ Consistent application
✓ Scale efficiently
✓ Audit trail

Select multiple files:

Individual selection:

Files list → ☐ Check boxes
• Click individual checkboxes
• Shift+click for range
• Ctrl/Cmd+click for non-consecutive

Select all:

☑ Select all files (current page)
☑ Select all {count} files (all pages)
Example:
Showing 50 of 247 files
☐ Select all 50 on this page
☑ Select all 247 files
Action applies to: All 247 files

Filter and select:

1. Apply filters:
• File type: PDF
• Tags: course
• Unmapped: Yes
2. Results: 45 files
3. Select all filtered
4. Apply bulk action

Upload many files at once:

Drag and drop:

1. Files → Upload Files
2. Drag entire folder to upload area
3. All files queued
4. Upload starts automatically
5. Monitor progress

File browser:

1. Click upload area
2. File browser opens
3. Ctrl/Cmd+A to select all
4. or Shift+click for range
5. [Open] to start upload

Manage upload queue:

Queue controls:

Files uploading: 15
Files queued: 32
Failed: 2
Actions:
[Pause All]
[Resume All]
[Cancel All]
[Retry Failed]

Individual file control:

Each file in queue:
• Filename
• Size
• Progress
• [Pause] [Cancel] buttons
Failed files:
• Error message
• [Retry] button

Remove files in bulk:

Delete selected:

1. Select files (checkbox)
2. Bulk Actions → Delete
3. Confirmation dialog:
"Delete 45 selected files?"
⚠️ This action cannot be undone
☐ Also remove from product mappings
[Cancel] [Delete Files]
4. Deletion in progress
5. Success: "45 files deleted"

Prevent accidental deletion:

Warnings:

⚠️ Files mapped to products:
"15 of 45 selected files are currently mapped to products.
Deleting will break download links for customers."
Options:
☐ Keep files, remove mappings only
● Delete files and remove mappings
☐ Cancel deletion
Recommendation: Download backup first

Selective deletion:

Delete by criteria:

Files → Bulk Actions → Delete by Filter
Criteria:
☑ Uploaded before: 2023-01-01
☑ Not mapped to any product
☑ File size > 1 GB
☐ Tags contain: "old"
Matches: 23 files
Preview: [Show matching files]
[Delete Matching Files]

Tag multiple files:

Add tags:

1. Select files (45 selected)
2. Bulk Actions → Add Tags
3. Enter tags: course, premium, 2024
4. Apply to:
● Replace existing tags
○ Add to existing tags
○ Remove these tags
5. [Apply Tags]
6. Result: 45 files tagged

Tag templates:

Save common tag sets:
• Course Files: course, chapter, pdf
• Bonus Content: bonus, extra, premium
• Ebooks: ebook, pdf, guide
Quick apply: Select template → Apply to files

Organize tags:

Bulk tag operations:

Find and replace tags:

Files → Bulk Actions → Manage Tags
Find tag: "chapter"
Replace with: "module"
Applies to: All files with "chapter" tag
Files affected: 45
[Replace Tag]

Merge tags:

Merge duplicate tags:
"Chapter" + "chapter" + "CHAPTER" → "chapter"
Standardize: Convert all to lowercase

Map files to products in bulk:

Auto-map by SKU:

Files → Bulk Actions → Auto-Map to Products
Match by:
● Product SKU in filename
○ Product title similarity
○ Tags
Pattern: {SKU}_{filename}.ext
Example: COURSE-001_chapter-1.pdf → Product SKU: COURSE-001
Confidence: 80% minimum
Preview matches: [Show]
Matched: 42 of 45 files
Unmatched: 3 files
[Apply Mapping]

Manual bulk mapping:

1. Select files (15 selected)
2. Bulk Actions → Map to Product
3. Search product: "Complete Course Bundle"
4. Select product
5. Map all selected to this product
6. [Apply Mapping]
Result: 15 files now mapped to "Complete Course Bundle"

Remove product mappings:

Bulk unmap:

1. Select mapped files
2. Bulk Actions → Remove Product Mapping
3. Confirm:
"Remove product mapping from 23 files?"
⚠️ Files will become unmapped
Download links will stop working
4. [Remove Mappings]
Result: 23 files unmapped

Change settings for multiple files:

Expiry settings:

Files → Select multiple → Bulk Actions → Update Settings
Expiry:
● Update expiry to: 90 days
○ Add to current expiry: +30 days
○ Don't change
Download limit:
● Update limit to: 10 downloads
○ Don't change
Applies to: 45 selected files
[Update Settings]

Custom settings:

Other settings to bulk update:
☑ File visibility (Public/Private)
☑ CDN enabled/disabled
☑ Download notification
☑ Track downloads
☑ Allowed referrers

Export file information:

CSV export:

Files → Bulk Actions → Export
Format: CSV
Include:
☑ Filename
☑ File size
☑ Upload date
☑ Product mappings
☑ Tags
☑ Download count
☑ Expiry settings
☑ Download limits
☐ File URLs (security concern)
Filters: Apply current filters
Selected only: ☑ Yes (45 files)
[Export CSV]

Export result:

filename,size_bytes,upload_date,products,tags,downloads,expiry_days,download_limit
Chapter-1.pdf,2500000,2024-01-15,"Complete Course",course;chapter1,145,60,5
Chapter-2.pdf,2800000,2024-01-15,"Complete Course",course;chapter2,132,60,5
Bonus.zip,15000000,2024-01-16,"Complete Course",course;bonus,89,90,10

JSON export:

[
{
"id": "file_abc123",
"filename": "Chapter-1.pdf",
"size_bytes": 2500000,
"upload_date": "2024-01-15",
"products": ["prod_123"],
"tags": ["course", "chapter1"],
"downloads": 145,
"expiry_days": 60,
"download_limit": 5,
"url": "https://..."
},
...
]

Create download links for multiple files:

Bulk link generation:

Files → Select files → Bulk Actions → Generate Download Links
Options:
Expires in: 7 days
Download limit: 3 times
Customer email: (optional)
Custom expiry per file: ☐
Selected: 15 files
Links to generate: 15
[Generate Links]

Link output:

Generated 15 download links:
Chapter-1.pdf
→ https://yourshop.com/download?key=abc123...
[Copy] [Email]
Chapter-2.pdf
→ https://yourshop.com/download?key=def456...
[Copy] [Email]
...
Bulk actions:
[Copy All Links]
[Export to CSV]
[Email All Links]

Process files in batches:

Image optimization:

Files → Filter: Type = Image → Select all → Bulk Actions
Optimize Images:
☑ Resize large images to max 2000px
☑ Compress to 80% quality
☑ Convert to WebP format
☑ Preserve original (backup)
Files: 45 images
Estimated savings: 65% file size
Time: ~5 minutes
[Start Optimization]

PDF operations:

Filter: Type = PDF → Bulk Actions → PDF Operations
☑ Compress PDFs (reduce file size)
☑ Add watermark (configured in settings)
☐ Split multi-page PDFs
☐ Merge PDFs (select order)
☑ Optimize for web viewing
Files: 78 PDFs
[Process PDFs]

Rename files in bulk:

Pattern-based renaming:

Files → Select files → Bulk Actions → Rename
Current names:
file1.pdf, file2.pdf, file3.pdf
New pattern:
{product_name}_Chapter-{sequence}.pdf
Preview:
file1.pdf → Complete-Course_Chapter-1.pdf
file2.pdf → Complete-Course_Chapter-2.pdf
file3.pdf → Complete-Course_Chapter-3.pdf
Variables:
{product_name} - Mapped product name
{sequence} - Sequential number
{date} - Upload date
{original} - Original filename
[Apply Rename]

Find and replace:

Rename Files:
Find: "Chapter"
Replace: "Module"
Case sensitive: ☐
Regex: ☐
Files affected: 45
Preview: [Show changes]
[Rename Files]

Move files between locations:

Move to pack:

1. Select files (15 selected)
2. Bulk Actions → Move to Pack
3. Select pack: "Course Bundle Files"
or: [Create New Pack]
4. [Move Files]
Result: 15 files moved to pack
Product mappings: Updated automatically

Storage location:

Move files to different storage:
Primary storage: Cloudflare R2
Backup storage: BackBlaze B2
Select files → Bulk Actions → Change Storage
Target: Backup storage
Preserve original: ☑ Yes (copy, not move)
[Change Storage Location]

Automate recurring tasks:

Schedule bulk actions:

Settings → Automation → Scheduled Tasks
Task: Clean old files
Schedule: Monthly (1st of month, 2:00 AM)
Action: Delete files
Criteria:
• Uploaded before 365 days ago
• Not mapped to any product
• Not downloaded in 180 days
Notification: Email summary
[Create Schedule]

Auto-tagging:

Task: Auto-tag new files
Schedule: Daily (3:00 AM)
Action: Add tags based on filename
Rules:
• Contains "ebook" → Tag "ebook"
• Contains "course" → Tag "course"
• File type PDF → Tag "pdf"
• Size > 100MB → Tag "large-file"
[Create Auto-Tag Rule]

Programmatic bulk operations:

Bulk delete via API:

POST /api/files/bulk-delete
Authorization: Bearer {api_key}
{
"file_ids": ["file_1", "file_2", "file_3", ...],
"remove_mappings": true,
"backup_first": false
}
Response:
{
"deleted": 247,
"failed": 0,
"errors": []
}

Bulk update via API:

PUT /api/files/bulk-update
Authorization: Bearer {api_key}
{
"file_ids": ["file_1", "file_2", ...],
"updates": {
"expiry_days": 90,
"download_limit": 10,
"tags": ["premium", "course"]
}
}
Response:
{
"updated": 247,
"failed": 0
}

Handle large operations:

Batching strategy:

Large operation (1000+ files):
Split into batches: 100 files per batch
Process sequentially: Wait for batch completion
Monitor: Check for errors after each batch
Benefits:
• Prevents timeouts
• Easier error handling
• Can pause/resume
• Better progress tracking

Background processing:

Large bulk operations run in background:
• Bulk delete (>100 files)
• Bulk update (>500 files)
• Batch processing
• File optimization
Notification when complete:
Email: ✓
In-app: ✓
Includes: Summary, errors, next steps

Monitor bulk operations:

Progress indicator:

Bulk Operation in Progress:
Deleting 247 files...
Progress: [████████░░] 185/247 (75%)
Elapsed: 2m 30s
Remaining: ~50s
Errors: 2
[View Details] [Cancel Operation]

Detailed view:

File-by-file status:
✓ file_001.pdf - Deleted
✓ file_002.pdf - Deleted
❌ file_003.pdf - Error: File in use
✓ file_004.pdf - Deleted
...
[Retry Failed] [Export Log]

Review past operations:

Bulk operation log:

Settings → Advanced → Operation History
Recent bulk operations:
| Date | Action | Files | Status | Duration |
|------------|-------------|-------|---------|----------|
| Jan 15 3PM | Delete | 247 | Success | 3m 20s |
| Jan 14 2PM | Update tags | 145 | Success | 45s |
| Jan 12 1PM | Upload | 89 | Partial | 5m 10s |
Click for details: Affected files, errors, user

Before bulk operation:

1. Select 5-10 files
2. Apply action
3. Verify result correct
4. Then apply to all files
Prevents: Mass mistakes

Before deleting:

✓ Export file list (CSV)
✓ Download files (if not backed up)
✓ Document product mappings
✓ Screenshot settings
Then: Proceed with bulk delete

Narrow down selection:

Instead of:
Select all 1000 files → Apply action (risky)
Do this:
Filter → Type: PDF → Unmapped → Select → Apply
Result: Only affects intended files

Don’t walk away:

Large bulk operations:
✓ Monitor progress
✓ Watch for errors
✓ Be ready to cancel if issues
✓ Review completion summary

Keep records:

What: Deleted 247 old files
When: January 15, 2024
Why: Storage cleanup
Criteria: Uploaded before 2023-01-01, unmapped
Result: 247 deleted, 0 errors
By: Admin user

Why: Audit trail, troubleshooting, accountability


If operation not progressing:

Check:

1. Browser still active (not sleeping)
2. Internet connection stable
3. Operation running in background (check jobs)
4. Server status (no maintenance)

Fix:

• Refresh page (operation continues in background)
• Check operation history for completion
• Contact support if truly stuck

Some files failed:

Review errors:

Operation: Bulk delete 247 files
Success: 245
Failed: 2
Failed files:
• file_123.pdf - Error: Currently in use
• file_456.pdf - Error: Permission denied
Actions:
[Retry Failed]
[Skip and Continue]
[Export Error Log]

Can’t undo, but can restore:

Deleted files:

Recent deletions (< 7 days):
Available in: Trash/Recycle Bin
Restore: Select files → [Restore]
After 7 days: Permanently deleted
Prevention: Always backup first