This example code displays using GetSystemInfo to get system time, using StrGetTokens to parse date, time and RenameFile to rename files.
///////////////////////////////////////////////
// some defines are not showing here
function RenameDBFile(hMSI)
STRING szPath,szFileNameDB,szFileNameDBLog ,svResultDB,svResultLog,strDate,strTime,szRenameDB,szRenameDBLog;
INT nvDate,nvTime;
LIST listDate, listTime;
STRING svDdy, svDmn, svDyr, szDelim,szTimeStamp,svHr, svMin, svSec;
begin
GetSystemInfo(DATE, nvDate, strDate);
GetSystemInfo(TIME, nvTime, strTime);
listDate = ListCreate (STRINGLIST);
listTime = ListCreate (STRINGLIST);
StrGetTokens(listDate,strDate,"-");
ListGetFirstString(listDate,svDmn);
ListGetNextString(listDate,svDdy);
ListGetNextString(listDate,svDyr);
ListDestroy(listDate);
StrGetTokens(listTime,strTime,":");
ListGetFirstString(listTime,svHr);
ListGetNextString(listTime,svMin);
ListGetNextString(listTime,svSec);
ListDestroy(listTime);
szTimeStamp = "."+svDmn + "_" + svDdy + "_" + svDyr + "_" + svHr+ "_"+svMin+ "_"+svSec;
szPath = ProgramFilesFolder + DB_DATA_PATH;
szFileNameDB = DB_FILENAME;
szFileNameDBLog = DB_LOG_FILENAME;
szRenameDB = DB_FILENAME + szTimeStamp + ".bak";
szRenameDBLog = DB_LOG_FILENAME + szTimeStamp +".bak";
// Set SRCDIR and TARGETDIR for RenameFile
SRCDIR = szPath;
TARGETDIR = szPath;
if(FindFile(szPath, szFileNameDB, svResultDB) = 0 ) then
RenameFile(szFileNameDB,szRenameDB);
endif;
if(FindFile(szPath, szFileNameDBLog, svResultLog) = 0 ) then
RenameFile(szFileNameDBLog,szRenameDBLog);
endif;
end;