## 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 existing file or sub-directory to be renamed.
new_name
  Pointer to a null-terminated string that specifies the new object name. Any drive number may be specified in this string but it is ignored and assumed as the same drive of the `old_name`.

#### 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 to be renamed must not be an open object, or the FAT volume can be collapsed. Such the wrong operation can be rejected safely when file lock feature is enabled.

#### QuickInfo

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

#### Example

        /* Rename an object in the default drive */
        f_rename("oldname.txt", "newname.txt");

        /* Rename an object in the drive 2 */
        f_rename("2:oldname.txt", "newname.txt");

        /* Rename an object and move it to other directory */
        f_rename("log.txt", "old/log0001.txt");

Return