how to add directory name after uri
Your function is telling drupal to move $file->filename to public://abc and hence renamed to abc. Drupal is doing what you are asking to do.

your $destination should be - 'public://abc/' . $file->filename 

file_move($file, $destination, FILE_EXIST_REPLACE ); 

Below code should work (though not tested):

 $file = file_load($fid);
 $destination = 'public://abc/';
 if(file_prepare_directory($destination, FILE_CREATE_DIRECTORY)) {
   file_move($file, $destination . $file-&gt;filename, FILE_EXIST_REPLACE);
 }