To avoid the main upload directory getting too cluttered, I changed the field settings to use sub-directories. 

This seems to apply to new uploads, but what is the best method to move existing files as well?

Comments

Hi opentype

I don't think there is a way to do this within the user interface and I'm not aware of any module that can help.

There is a function that can move individual files (file_move()) but you would need to create a script to get the existing file information and pass it the information for each file you wanted to move.  There are a few unknowns and such a script could be quite tricky to get right and deal with any exceptions.

Another approach could be a database query to update the relevant records and then manually move the files to the location. But you need to know what you are doing with SQL.

It is possible someone else has done this before and has a method that is simpler