program RenameScript;
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,inifiles;
var
CurPName,CurPath: Variant;
tmps: string;
Name1: string;
IsFind: Boolean;
Ini: TIniFile;
pjname :string;
begin
Name1 := CnOtaGetCurrentProjectFileName;
CurPath := Name1;
if IsBdsProject(Name1) or IsDpr(Name1) then //是PE工程
begin
CnOtaGetActiveProjectOption('OutputDir',CurPName); //先获得输出目录
Name1 := ExtractFileName(Name1);
if Trim(CurPName) = '' then
begin
CurPName := CnOtaGetCurrentProjectFileNameEx+'.exe';
IsFind := FileExists(CurPName);
if not IsFind then
CurPName := CnOtaGetCurrentProjectFileNameEx+'.dll';
IsFind := FileExists(CurPName);
Name1 := CurPName;
end
else
begin
Name1 := Copy(Name1,1,Pos('.',Name1)-1);
tmps := CurPName;
if tmps[Length(tmps)] <> '\' then
tmps := tmps + '\';
if Pos(':',tmps) <> 0 then
begin
Name1 := tmps + Name1 + '.exe';
IsFind := FileExists(Name1);
if not IsFind then
Name1 := tmps + Name1 + '.dll';
end
else
begin
CurPath := ExtractFilePath(CurPath);
CurPName := CurPath + tmps + Name1 + '.exe';
IsFind := FileExists(CurPName);
if not IsFind then
CurPName := CurPath + tmps + Name1 + '.dll';
Name1 := CurPName;
end;
IsFind := FileExists(Name1);
end;
if IsFind then
begin
Ini := TIniFile.Create( ExtractFilePath(Name1)+'config.ini' );
try
pjname := Ini.readstring( 'main', 'name', '');//想改的程序名字,存在ini中方便不同的程序
finally
ini.free;
end;
if Trim(pjname) = '' then
abort;
tmps := ExtractFilePath(Name1) + pjname;
tmps := tmps +datetostr(now);
tmps := tmps+extractfileext(Name1);
if (tmps <> '') and (CompareText(tmps,Name1) <> 0) then
begin
RenameFile(Name1,tmps);
//ShowMessage('改名成功');
end;
//end;
end;
end;
end.