Auto-skipped files: what MigrationFox filters out
Every migration drops a handful of OS and application artifact files that have no meaning at the destination — macOS sidecar files, Windows thumbnail caches, Office lock files, trash folders. This page lists exactly what is filtered, why, and roughly how much your source shrinks after.
Real numbers from a 90K-file legal/HR shared drive. Savings skew toward file count, not bytes — junk files are small but numerous.
WHY IT MATTERS
SharePoint charges no tenant quota for junk, but every file is one API call on the upload side and one index entry at the destination. Filtering 44K files off a 90K source roughly halves the run time and cuts the destination index footprint by the same amount.
Why some files are skipped automatically
These patterns represent files the operating system or an application created for its own use — not content a user ever opened, shared, or cared about. Migrating them means:
- They appear in SharePoint as clutter. A
.DS_Storein a SharePoint document library is just noise that shows up in search results and Explorer views. - They're regenerated at the destination anyway. If a macOS user mounts the SharePoint library, macOS will recreate
.DS_Store. Migrating the old one and then having a new one appear on top causes sync loops. - They slow every phase. Every junk file is one scan entry, one API call to upload, one index entry, one checksum — for content nobody will ever open.
The filter is on by default and covers the patterns below. There is no list of tenants where we have turned it off.
Full list of patterns
| Pattern | Origin | What it is |
|---|---|---|
.DS_Store | macOS Finder | Per-folder view state (icon positions, window size). Regenerated on browse. |
._* | macOS AppleDouble | Resource-fork sidecar when copying to non-HFS volumes. One per real file. |
.Spotlight-V100/ | macOS Spotlight | Per-volume search index. Only meaningful to the Mac that wrote it. |
.fseventsd/ | macOS FSEvents | Filesystem-change event log. Meaningless off-device. |
.TemporaryItems/ | macOS | In-flight file copy buffers. Usually empty, occasionally partial. |
.Trashes, .Trash-* | macOS / Linux | Per-volume or per-user deleted items. Intentionally discarded content. |
Thumbs.db | Windows Explorer | Folder thumbnail cache. Regenerated on browse. |
ehthumbs.db | Windows Media | Media thumbnail cache. Same category as Thumbs.db. |
desktop.ini | Windows Explorer | Folder icon and localization metadata. Does not transfer meaning to SharePoint. |
$RECYCLE.BIN/ | Windows | Per-volume recycle bin. Intentionally discarded content. |
~$* | Microsoft Office | Lock file while a doc is open. Present = someone had the file open when the source was scanned; the real file is migrated normally. |
.~lock.* | LibreOffice / OpenOffice | Same concept as Office ~$ files. |
thumbdata3-* | Android Gallery | Gallery thumbnail cache. Huge (often 100 MB+), worthless off-device. |
.nomedia | Android | Marker telling Gallery to skip indexing the folder. Irrelevant in SharePoint. |
*.tmp, *.temp | Various | Temp files from partial saves. Often a stale shadow of a file that was later saved properly. |
*.swp, *.swo | vim | Editor crash-recovery scratch files. |
lost+found/ | Linux ext* | Filesystem-check orphan bin. Recovered fragments — rarely useful. |
How much typical sites shrink after filtering
Real examples from production runs:
- Mixed macOS + Windows shared drive (90,214 files → 46,127). 49% fewer files, 8.4 GB saved on a 312 GB source. Most savings were
.DS_StoreandThumbs.db— small individually but tens of thousands of them. - Engineering team, mostly Windows (41,802 files → 33,904). 19% fewer files, mostly
Thumbs.dband~$Office lock files. - Marketing team with Android device backups (127,188 files → 62,910). 51% fewer files, 42 GB saved —
thumbdata3-*files from phone photo syncs were the big contributor.
Count reduction generally sits at 15–50% depending on OS mix. Byte reduction is usually much smaller (1–5% of source size) — junk files are small, but an abundance of them dominates file-count-sensitive timings like scan duration and destination indexing.
TIP
If your scan reports "no junk files found" on a source that has macOS or Windows users, something is wrong — almost always the source credential is missing read on dot-prefixed files. Re-run the scan from an account with full read access. A truly clean source is rare.
How to re-include if needed
The filter is currently global and on by default — there is no opt-out. In practice this has never been requested for junk files, since migrating a Thumbs.db into SharePoint has no legitimate use case. If you have one, tell us.
A per-project override for the junk-file list is on the roadmap. The target shape:
- Project settings → Filters. A text area where you can remove patterns from the default list, or add custom ones (e.g., your company's
.companycache). - Per-job preview. The pre-flight scan will show the exact counts about to be filtered before you hit Start migration, so you can decide whether a pattern match is what you expected.
- Append-only for junk patterns. Even with the override, the short list of truly destructive patterns (
.Trashes,$RECYCLE.BIN,lost+found) will remain mandatory-skip — these are intentionally-discarded data and migrating them means resurrecting content the user deleted on purpose.
No ETA yet. Vote for it by emailing support@migrationfox.com with your use case — the roadmap is demand-driven.
DON'T
Don't script a workaround by renaming junk files before the scan (e.g., .DS_Store → ds_store.bak). You'll pay the full upload cost, clutter SharePoint, and the renamed files still regenerate on macOS browse. If you genuinely need these files, the roadmap override is the right path.
What's next
- Executable file handling — the other category that shows as Skipped, for different reasons.
- Google Drive migration reliability — how Skipped, Retried, and Failed are counted on the live dashboard.
- Migration Rehearsal dry-run — the rehearsal report includes the full filter breakdown before cutover.