Q: Is it possible in LimagitoX File Mover to rename a file that has a date in the filename to also include the day of the week?
Here is an example of what I would like to rename.
Original Filename: XYZ001D_04_21_20_ABCD.pdf
(04_21_20 = April 21, 2020)
Rename To: Tues_XYZ001D_04_21_20_ABCD.pdf
A: Yes this is possible using Pascal Script. Some screenshots to get you started.
Add The Following ‘On Destination’ Pascal Script:
// Original Filename: XYZ001D_04_21_20_ABCD.pdf
// (04_21_20 = April 21, 2020)
// Rename To: Tues_XYZ001D_04_21_20_ABCD.pdf
Var
tmpDate: TDateTime;
tmpDateStr: String;
tmpPos: Integer;
tmpLen: Integer;
tmpDay: Integer;
Const
ctDateLen = 8;
Begin
psExitCode := 0;
// ... add your code here
tmpPos := pos('_', psFileName);
tmpLen := Length(psFileName);
// Check
If (tmpPos = 0) And (tmpLen = tmpPos + ctDateLen) Then
Begin
Try
tmpDateStr := Copy(psFileName, tmpPos+1, ctDateLen);
psLogWrite(1, '', 'Date stripped as String: ' + tmpDateStr);
tmpDate := psStrToDate(tmpDateStr, 'mm_dd_yy', '_');
tmpDay := DayOfTheWeek(tmpDate);
psLogWrite(1, '', 'Day Of The Week: ' + IntToStr(tmpDay));
Case tmpDay Of
1: psVSA := 'Mond_'; // Monday
2: psVSA := 'Tues_'; // Tuesday
3: psVSA := 'Wedn_'; // Wednesday
4: psVSA := 'Thur_'; // Thursday
5: psVSA := 'Frid_'; // Friday
6: psVSA := 'Satu_'; // Saturday
7: psVSA := 'Sund_'; // Sunday
End;
// Set ExitCode
psExitCode := 1;
Except
psLogWrite(1, '', 'Exception Error when searching for Date in filename: ' + psFilePath + psFileName);
End;
End
Else
psLogWrite(1, '', 'Not a valid filename: ' + psFilePath + psFileName);
End.
In your Destination Setup select the ‘Rename’ Tab. Enable ‘Rename Files during Copy/Move and click the button next to this option.
File Rename Setup:
RegEx: (.*)
Replacement: %VSA\1
The goal of this renaming is to add the %VSA var in front of the filename. The %VSA var was previously set in the Pascal Script.
The \1 corresponds with the RegEx (.*) which is in this case the complete filename.
If you need help, please let us know. Don’t hesitate to ask.
Regards,
Limagito Team