Используйте стандартную рекурсию файла, но вместо того, чтобы поддерживать структуру каталогов, переместите окончательный файл, если, конечно, имя уже не существует, тогда вам потребуется разрешить переименование, чтобы к файлу можно было добавить имя каталога, чтобы сохранить уникальные имена файлов.
Вы использовали какую-либо форму рекурсивного кода?