ファイル名の変更
ファイルの操作 への移動
ファイル名を変更するには、次のような System.SysUtils.RenameFile 関数を使用します。
Delphi:
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 で指定された名前に変更します。オペレーションが成功した場合、RenameFile は True を返します。ファイル名の変更ができない場合(たとえば、NewFileName ちおうファイルがすでに存在している場合など)、RenameFile は False を返します。例:
Delphi:
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 もドライブをまたいでは機能しません。