Do you plan to continue using Assets? If you do you probably can achieve all this simply by dragging / dropping images within the Assets UI.
If you plan to eliminate Assets, you cannot simply change the field type from Assets to File to migrate. Assets does not store information about where an image is in the Asset field for an entry (it stores that in a separate assets table) - just the name of the image / file. But EE does (it puts {FileDir_X}
ahead of the filename, where X is the ID of the upload directory). So if you are moving from one field type to the other you need to add this information to the image names from Assets.
Doing this requires some excursion that lets you mess directly with the EE database (either php or direct SQL would work). Probably SQL is easiest for a one-off migration.
So you end up with something like this:
- Consolidate all the images in the 'top-level' folder of the filedirs you want to keep, and keep a record of which of the upload directories each image has ended up in (if you leave them in sub-folders, EE won't be able to see them via the file field type).
- Create the new image fields in your EE channels for the images
- Generate some SQL that copies the name of the image file from the Assets field to the appropriate new EE Image field and prefixes with the appropriate filedir ID tag. Suggest you do this on a field by field basis.
- Test the results.
As ever, make sure you back up everything, and do this work on a development server to be sure you have got it down before you work on the live one.