...
char buf[256]; //get file-path source name into 'buf'
//(using one of the above methods will do)
//////////////////////////////////////////////////////////////
STRING* shortname = str_create(buf);
while(str_stri(shortname, "\\"))
{ str_clip(shortname, str_stri(shortname, "\\")); }
STRING* targetname = str_create(work_dir);
str_cat(targetname, shortname);
file_cpy (targetname, _str(buf));
//////////////////////////////////////////////////////////////
str_remove(shortname); str_remove(targetname); //optional clean up