Use a script to filter files by name, then restore them into their original folders.
Use a script to filter files by name, then restore them into their original folders.
Try xcopy with the starting folder of each source path (use backslashes). Add the first six characters of the string, then ~1, followed by a dot, the pattern, a space, the destination path, and /s. This will copy matching files while keeping the original structure. If you want to delete the source files first, do it only after confirming the files are gone. If that doesn’t work, building a custom script might be necessary. Let me know more details for better guidance.
You should consider trying it anyway—otherwise, simply dragging and dropping might still work better. It shouldn’t behave unexpectedly if you give it instructions and allow metadata settings. It’s safer to copy rather than move first to ensure everything functions correctly.
This approach isn’t practical for your needs. For instance, a file like \[ROOT FOLDER]\2018\05\13\2018051318554400-57B4628D2267231D57E0FC1078C0596D.jpg has a date code followed by a hyphen and then the target location. You’re trying to move it to another root folder with the same ID, but the system won’t recognize the long filename format you’re relying on. The date range could span many months, and the text string you’re after isn’t fixed—it grows in length across hundreds of files. In my experience, using a single identifier like “~1” won’t cut it anymore. It wouldn’t work because modern systems, especially those built on Windows 95, no longer support long filenames. Even if some legacy code still runs, it’s outdated and unreliable. I’ve worked with long filenames for years without needing that shortcut; scripts in recent years have fully embraced them.