ファイル名の変更

提供: Appmethod Topics
移動先: 案内検索

ファイルの操作 への移動

ファイル名を変更するには、次のような System.SysUtils.RenameFile 関数を使用します。

Object Pascal:
 function RenameFile(const OldFileName, NewFileName: string): Boolean;
C++:
extern DELPHI_PACKAGE bool __fastcall RenameFile(const System::UnicodeString OldName,
    const System::UnicodeString NewName);

RenameFile は、OldFileName で指定されたファイル名を、NewFileName で指定された名前に変更します。オペレーションが成功した場合、RenameFileTrue を返します。ファイル名の変更ができない場合(たとえば、NewFileName ちおうファイルがすでに存在している場合など)、RenameFileFalse を返します。例:

Object Pascal:
 if not RenameFile('OLDNAME.TXT','NEWNAME.TXT') then
   ErrorMsg('Error renaming file!');
C++:
if (!RenameFile("OLDNAME.TXT","NEWNAME.TXT"))
    ErrorMsg("Error renaming file!");

RenameFile を使って、ドライブをまたいでファイル名を変更(ファイルを移動)することはできません。まずファイルをコピーしてから、古いファイルを削除する必要があります。

メモ: RTL の RenameFile 関数は Windows API の MoveFile 関数のラッパーになっています。そのため、MoveFile もドライブをまたいでは機能しません。

関連項目