Quick fix: Use robocopy with the right flags instead of File Explorer drag-and-drop. robocopy "Source" "Dest" /e /copy:DAT /dcopy:T. /copy:DAT copies Data + Attributes + Timestamps. /dcopy:T copies directory timestamps. File Explorer copies often set Modified to current time, Created to copy time. robocopy preserves originals.
File Explorer’s default copy method changes Created date to copy time. Modified usually preserved, but not always. For backups, archives, photo organization, this destroys metadata. robocopy is the Microsoft-supported way to preserve.
Affects: Windows 11 (and Windows 10).
Fix time: ~5 minutes.
What causes this
NTFS stores three timestamps per file: Created, Modified, Accessed. Different copy methods preserve different ones:
- File Explorer drag-drop: copies Modified, resets Created (to copy time).
- copy command: copies Modified, resets Created.
- xcopy /k: preserves Modified, may reset Created.
- robocopy /copy:DAT: preserves Data + Attributes + Timestamps.
- robocopy /copy:DATSO: preserves D + A + T + Security + Owner. Closest to bit-for-bit.
For full preservation: robocopy with explicit flags.
Method 1: Use robocopy for preserved copy
The standard route.
- Open Command Prompt (Admin for some destinations).
- Run:
robocopy "C:\Source" "D:\Destination" /e /copy:DAT /dcopy:T- /e: copy subdirectories including empty.
- /copy:DAT: copy file Data, Attributes, and Timestamps.
- /dcopy:T: copy directory Timestamps.
- For preserving owner and security: add /copy:DATSO.
- For move (cut+paste):
robocopy "Source" "Dest" /e /move /copy:DAT. Source deleted after copy. - For mirror (sync source to dest):
robocopy "Source" "Dest" /mir /copy:DAT. Files in dest not in source get deleted. Caution. - For specific files:
robocopy "Source" "Dest" "*.jpg" /copy:DAT /e. - For very long path support: use
\\?\C:\Pathprefix. - Done. Files copied with preserved metadata.
This is the standard solution.
Method 2: PowerShell with explicit timestamp set
For granular control.
- PowerShell script that preserves all three timestamps:
$source = "C:\Source" $dest = "D:\Destination" Get-ChildItem -Path $source -Recurse | ForEach-Object { $relativePath = $_.FullName.Substring($source.Length) $targetPath = Join-Path $dest $relativePath if ($_.PSIsContainer) { New-Item -ItemType Directory -Path $targetPath -Force | Out-Null } else { Copy-Item -Path $_.FullName -Destination $targetPath -Force $destFile = Get-Item -Path $targetPath $destFile.CreationTime = $_.CreationTime $destFile.LastWriteTime = $_.LastWriteTime $destFile.LastAccessTime = $_.LastAccessTime } } Write-Host "Copy complete with preserved timestamps" - Save as .ps1. Run as Admin.
- Slower than robocopy for many files but explicit.
- For specific timestamp restore after a copy gone wrong:
$file = "D:\file.txt" $correctDate = Get-Date "2024-01-15 10:30" (Get-Item $file).CreationTime = $correctDate (Get-Item $file).LastWriteTime = $correctDate - For photos: use ExifTool to read EXIF date and apply to file timestamps. Useful for sorting.
This is the granular approach.
Method 3: Configure File Explorer to behave better
For occasional File Explorer use.
- File Explorer doesn’t have a built-in setting to preserve all timestamps.
- Workaround: use TeraCopy (free download). Replaces File Explorer’s copy with a feature-rich copier.
- TeraCopy preserves all timestamps by default.
- Install. Sets as default copy handler.
- Now File Explorer drag-drop goes through TeraCopy — preserves timestamps.
- For without third-party: avoid drag-drop. Use robocopy from scripts or scheduled tasks.
- For Windows 11 24H2: File Explorer’s new copy dialog might add timestamp options in future versions.
- For cross-filesystem copies (NTFS to FAT32, exFAT, ext4): timestamp precision can round (FAT32: 2-second granularity). Live with rounding or use ZIP archive to preserve exact times.
This is the File-Explorer-replacement route.
How to verify the fix worked
- Right-click source file → Properties. Note Created, Modified, Accessed dates.
- Same for destination file. Dates should match (within precision).
- For batch verify:
dir /tc /odin cmd shows Created date sorted oldest first. - robocopy log shows: “Mismatch: 0” in summary.
If none of these work
If timestamps don’t preserve: FAT32 filesystem: 2-second precision rounds timestamps. Use NTFS or exFAT destination. For network shares: server may set Modified to server time. Check share permissions and timestamps. For OneDrive / cloud sync: cloud-synced files may have cloud-set timestamps. For permission denied: timestamps can’t be set on files without ownership. Take ownership: takeown /f "C:\file.txt". For Linux ext4 source: ext4 has nanosecond precision; NTFS has 100ns precision. Slight rounding. For macOS APFS source: similar precision rounding. For specific date forensics: forensic tools (ExifTool, FTK Imager) can read alternate timestamps in metadata streams. For archive backups: use ZIP, 7z, tar — preserve timestamps inside archive metadata, extract preserves.
Bottom line: robocopy "Source" "Dest" /e /copy:DAT /dcopy:T for full timestamp preservation. PowerShell with explicit timestamp set for granular needs. TeraCopy to replace File Explorer’s copy with preservation by default.