## f_rename

Renames a file or sub-directory.

    FRESULT f_rename (
      const TCHAR* old_name, /* [IN] Old object name */
      const TCHAR* new_name  /* [IN] New object name */
    );

#### Parameters

old_name
  Pointer to a null-terminated string that specifies the old object name to be renamed.
new_name
  Pointer to a null-terminated string tha specifies the new object name without drive number.

#### Return Values

FR_OK, FR_DISK_ERR, FR_INT_ERR, FR_NOT_READY, FR_NO_FILE, FR_NO_PATH, FR_INVALID_NAME, FR_DENIED, FR_EXIST, FR_WRITE_PROTECTED, FR_INVALID_DRIVE, FR_NOT_ENABLED, FR_NO_FILESYSTEM, FR_TIMEOUT, FR_LOCKED, FR_NOT_ENOUGH_CORE

#### Description

Renames a file or sub-directory and can also move it to other directory. The logical drive number is determined by old name, new name must not contain a logical drive number. Do not rename open objects or directry table can be collapted.

#### QuickInfo

Available when `_FS_READONLY == 0` and `_FS_MINIMIZE == 0`.

#### Example

        /* Rename an object */
        f_rename("oldname.txt", "newname.txt");

        /* Rename and move an object to other directory */
        f_rename("oldname.txt", "dir1/newname.txt");

Return