## 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 in the same logical drive. The object must not be opened, or the FAT volume can be collapsed. It will be rejected when file lock feature is enabled.

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