更改文件扩展名函数的BUG
Delphi 的 ChangeFileExt 函数和 Windows 的 API 函数 PathRenameExtension 存在 BUG ,对长文件名的支持有问题:如果传入一个文件名带有引号,则返回的文件名只有一半引号,导致程序出错。
function ChangeFileExtEx(const FileName: string; const Ext: string): string;
{
更改文件名后缀,支持Windows长文件名,Delphi本身的有BUG,如果文件名包含双引号
则使用Delphi自带的会导致新文件名只有一半引号!
}
begin
Result := StringReplace(ChangeFileExt(FileName, Ext), '"', '', [rfReplaceAll]);
end;