## f_rename

Rename file or directory.

    FRESULT f_rename (
      const char* OldName, /* Pointer to old file/directory name */
      const char* NewName  /* Pointer to new file/directory name */
    );

#### Parameters

OldName
  Pointer to a null-terminated string specifies the old file/directory name to be renamed.
NewName
  Pointer to a null-terminated string specifies the new file/directory name without drive number. Existing object nannot be specified.

#### Return Values

FR_OK (0)
  The function succeeded.
FR_NO_FILE
  Could not find the old name.
FR_NO_PATH
  Could not find the path.
FR_INVALID_NAME
  The file name is invalid.
FR_INVALID_DRIVE
  The drive number is invalid.
FR_NOT_READY
  The disk drive cannot work due to no medium in the drive or any other reason.
FR_EXIST
  There is an object that have a name equal to new name.
FR_DENIED
  The new name could not be created due to any reason.
FR_WRITE_PROTECTED
  The medium is write protected.
FR_DISK_ERR
  The function failed due to an error in the disk function.
FR_INT_ERR
  The function failed due to a wrong FAT structure or an internal error.
FR_NOT_ENABLED
  The logical drive has no work area.
FR_NO_FILESYSTEM
  There is no valid FAT partition on the disk.

#### Description

Rename a file or directory and can move it to other directory. Logical drive number is determined by old name, new name must not contain logical drive number. This function is not supported in read-only configuration or minimization level of >= 1.

#### Example

        // Rename a file or directory
        f_rename("oldname.txt", "newname.txt");

        // Rename and move a file or directory to other directory simultaneously
        f_rename("oldname.txt", "dir1/newname.txt");

Return