MigrationFox Docs

Skip Junk Files

MigrationFox leaves out operating-system and app junk during the scan, so the migration moves real user content instead of OS debris. The filter is on by default for every migration, and one option in the wizard turns it off for a job.

Why scan-time, not upload-time

Filtering during the scan means junk files never enter the migration. They are not counted, not uploaded and not retried. The file count you see on the job is the count MigrationFox is going to move, not a padded figure that drops later.

What is filtered by default

The full list of names and folders is on the Auto-skipped files reference. In short:

CategoryExamplesApplies to
macOS Finder files.DS_Store, ._*, .localizedAll sources
Windows Explorer filesThumbs.db, ehthumbs.db, desktop.iniAll sources
Office lock files~$*All sources
System and trash folders__MACOSX, .Spotlight-V100, .fseventsd, .Trashes, $RECYCLE.BIN, System Volume InformationAll sources
Android cachesLOST.DIR, .thumbnails, DCIM/thumbnailsAll sources
Extra Google Drive listthumbdata3-*, .trash-*, *.tmp, .TemporaryItems, _vti_*Google Drive sources (always on)
Developer foldersnode_modules, .git, __pycache__, .venv, .idea, .vscode, vendorFile share (SMB) sources

Only the specific names listed are filtered. General dotfiles (.bashrc, .gitconfig) are treated as user content and migrated as-is.

Why these files are filtered

macOS Finder files

macOS writes .DS_Store into folders to remember window and icon layout. On non-Mac volumes it also writes a ._ sidecar next to many files to hold extended attributes. Neither has meaning on another system, and SharePoint rejects ._ names. Leaving them out avoids a long list of failures that say nothing about your real content.

Windows Explorer files

Thumbs.db and desktop.ini are hidden files Windows creates when it shows a folder. SharePoint has no use for a thumbnail cache or a folder view template, and Windows recreates them on browse.

Office lock files

When you open Budget.xlsx, Office writes ~$Budget.xlsx next to it and deletes it on a clean close. If Office crashes or the laptop sleeps, the lock file stays behind. It has no value at the destination; the real workbook is migrated normally.

System, trash and phone folders

Recycle bins and trash folders hold content someone deleted on purpose. Search indexes and Android thumbnail caches only make sense on the device that wrote them.

Developer folders (file shares)

Package-manager, IDE and version-control folders are machine-generated, can contain thousands of tiny files, and their deep paths often exceed SharePoint’s 400-character limit.

How to opt out

Per job

Include OS metadata files

In the migration wizard’s options, check Include OS metadata files. It is off by default. When it is on, the OS files and folders filtered on every source are scanned and migrated like any other content. Use it for forensic, audit or e-discovery copies where every byte must transfer.

The extra Google Drive list is applied by the Google Drive connector itself and stays on even with this option checked.

Per job · file shares

Include dev-artifact folders

For a file share (SMB) source, check Include dev-artifact folders to migrate node_modules, .git and the other developer folders. It is off by default.

Not available today

Account-wide defaults and per-pattern toggles

There is no account-wide default and no way to switch individual patterns on or off. The options above apply to the whole list, for one job at a time.

Custom exclusions

To leave out more files of your own choosing, use the Exclude File Types field in the migration wizard. Type a pattern such as *.bak, or click a preset (Office temp files, Executables, System metadata, Large media).

Current limitation

Today, Exclude File Types is applied while scanning file share (SMB) sources, and only extension patterns of the form *.ext are used. Name patterns such as ~$* or Thumbs.db and all patterns on cloud sources are not applied yet. The built-in junk filter above still covers the common OS files on every source.

You can also set Max File Size to skip files larger than a given size. Depending on the source, those files are either left out during the scan or shown as File size over destination limit in the job’s Skipped breakdown.

What shows up on the job

Because junk files are dropped during the scan, they do not appear in the job’s file totals, in the Skipped count or in the CSV report. The scan totals reflect only the files that will actually migrate. There is no per-category count of filtered files today.

Troubleshooting

SymptomLikely causeFix
A file I needed was not migrated Its name matched a default pattern, for example a real document named Thumbs.db, or a Google Drive file ending in .tmp. Check Include OS metadata files and run the migration again for that folder. For a Google Drive .tmp file, download it from drive.google.com and upload it separately, since that list is always on.
Junk files appeared at the destination Include OS metadata files was checked on the job, or the name differs from the exact pattern (for example THUMBS.DB in capitals). Delete them at the destination, and leave the option unchecked on the next run.
node_modules or .git folders are missing after a file share migration Developer folders are skipped by default for file share sources. Check Include dev-artifact folders and run the migration again for that folder.
A pattern in Exclude File Types was ignored The source is a cloud platform, or the pattern is not an extension pattern (*.ext). See Custom exclusions for what is applied today.
File counts differ between two scans of the same source The source changed between scans. Expected. The filter always matches the current state of the source.

Related