f_rename

ファイルまたはサブ ディレクトリの名前の変更または移動します。

FRESULT f_rename (
  const TCHAR* old_name, /* [IN] 古いオブジェクト名 */
  const TCHAR* new_name  /* [IN] 新しいオブジェクト名 */
);

引数

old_name
変更対象のファイルまたはサブ ディレクトリのパス名を示すヌル文字'\0'終端の文字列へのポインタを指定します。
new_name
新しいパス名を示すヌル文字'\0'終端の文字列へのポインタを指定します。また、ドライブ番号は指定しても無視され、old_nameで決められたボリューム上のオブジェクトとして扱われます。これと同じパス名(old_nameは除く)のオブジェクトが存在すると、関数はFR_EXISTで失敗します。

戻り値

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

解説

ファイルまたはサブ ディレクトリの名前を変更します。また、同時に別のディレクトリへの移動も可能ですが、異なるドライブ間の移動はできません。開かれているオブジェクトに対する使用は不正な操作となり、FAT構造が破壊される可能性があります。多重アクセス制御が有効のときは安全に拒否されます。

対応情報

_FS_READONLY == 0で、且つ_FS_MINIMIZE == 0のときに使用可能です。

使用例

    /* デフォルト ドライブにあるオブジェクトの名前を変更 */
    f_rename("oldname.txt", "newname.txt");

    /* ドライブ2にあるオブジェクトの名前を変更 */
    f_rename("2:oldname.txt", "newname.txt");

    /* 名前の変更と同時に別のディレクトリに移動 */
    f_rename("log.txt", "old/log0001.txt");

戻る