## 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 an existing file or sub-directory to be renamed.
new_name
  Pointer to a null-terminated string that specifies the new object name. The drive number specified in this string is ignored and one determined by `old_name` is used instead.

#### 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 within the same logical drive. Do not rename open objects or directry table can be broken.

#### 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