File Mover Blog

  • 24 Apr

    File renaming logic using day of week function

    Q: We need the dates tv listing dates moved to publications dates. This newspaper publishes 3 days a week, Wednesday, Friday and Saturday. In order to automatically flow the graphic onto the page, the file name needs to match the publication date.

    We need the following logic,

    • Wednesday graphic gets Wednesday date,
    • Thursday graphic gets Wednesday date (the day before)
    • Friday graphic gets Friday date
    • Saturday graphic gets Friday date (the day before)
    • Sunday / Monday / Tuesday graphics get the previous Saturday date.

    For example:

    Sunday / Monday / Tuesday dates:

    • PH_20230423.pdf
    • PH_20230424.pdf
    • PH_20230425.pdf

    We’d want renamed to

    • PH_Sun_20230422.pdf
    • PH__Mon_20230422.pdf
    • PH_Tues_20230422.pdf

    Technically the “Sun”, “Mon”, “Tues” could be anything as long as they’re unique and predictable.

    Moving onto the next set:

    • PH_20230426.pdf
    • PH_20230427.pdf

    Would be renamed to

    • PH_Wed_20230426.pdf
    • PH_Thurs_20230426.pdf

    And finally:

    • PH_20230428.pdf
    • PH_20230429.pdf

    Would be renamed to

    • PH_Fri_20230428.pdf
    • PH_Sat_20230428.pdf

     

    A: Yes this is possible using our Mover Pascal Script and Destination RegEx renaming options.

    • Open ‘Pascal Script’ setup

    Limagito File Mover Pascal Script

    • Enable and add the following ‘On Destination’ Pascal Script:
    Var
      tmpLen: Integer;
      tmpDateStr, tmpFilePart: String;
      tmpDate1, tmpDate2: TDateTime;
    Begin
      psExitCode:= 1;
      // ... add your code here
      // PH_20230423.pdf > PH_Sun_20230422.pdf
      tmpDateStr := psFileName;
      tmpDateStr := psStringReplace(tmpDateStr, '.pdf', '');
      tmpLen := Length(tmpDateStr);
      If tmpLen >= 8 Then
      Begin
        tmpDateStr := Copy(tmpDateStr, tmpLen - 8 + 1, 8);
        tmpDate1 := psStrToDate(tmpDateStr, 'YYYYMMDD', #0);
        Case DayOfWeek(tmpDate1) of
        1: // Sunday
          tmpDate2 := psIncDay(tmpDate1, -1);
        2: // Monday
          tmpDate2 := psIncDay(tmpDate1, -2);
        3: // Tuesday
          tmpDate2 := psIncDay(tmpDate1, -3);
        4: // Wednesday
          tmpDate2 := tmpDate1;
        5: // Thursday
          tmpDate2 := psIncDay(tmpDate1, -1);
        6: // Friday
          tmpDate2 := tmpDate1;
        7: // Saturday
          tmpDate2 := psIncDay(tmpDate1, -1);
        Else
          psExitCode := 0; // Error
        End;
        psVSA := FormatDateTime('DDD', tmpDate1);
        psVSB := FormatDateTime('YYYYMMDD', tmpDate2);
        psLogWrite(1, '', 'Date: ' + psVSB + ', Day: ' + psVSA);
      End
      Else
        psLogWrite(1, '', 'Length error of ' + tmpDateStr);
    End.
    

    Limagito File Mover Pascal Script Day of Week

    • Afterwards, adjust the File Rename option in your Destination setup:
    RegEx:  (.*)_(.*)\.(.*)
    Replacement:  \1_%VSA_%VSB.\3
    Limagito File Mover File Rename using RegEx
    – RunTime Log Result:
    Limagito File Mover RunTime Log

    #FileTransfer

    If you need any info about this  ‘day of week function’, please let us know.

    Best regards,

    Limagito Team

  • 08 Apr

    Rule events on error and on success event memory option

    During a demo we received a question from Arnold if it was possible to trigger a success event only once. This success event memory, as we call it, will be cleared with the next “On error event”. This option was added in version v2023.4.8.0

    Limagito File Mover success event memory

    We already had a kind of “Error event memory” in the previous versions but this one was filename based so we renamed this option to ‘File Error event memory’.  We added a second “Error event memory” where enabled we will only trigger an error event once. This error event memory will be cleared with the next “On success event”.

    Limagito File Mover error event memory

    #FileTransfer

    If you need any info about this  ‘event memory’ option, please let us know.

    Best regards,

    Limagito Team

  • 08 Apr

    Exception code 0xc0000264 in faulting module name ntdll.dll

    Exception code 0xc0000264

    Faulting application name: LimagitoXS.exe, version: 2023.1.12.0, time stamp: 0x63c043db
    Faulting module name: ntdll.dll, version: 6.1.7601.24545, time stamp: 0x5e0eb67f
    Exception code: 0xc0000264
    Fault offset: 0x00000000000c85b8
    Faulting process id: 0x17a0
    Faulting application start time: 0x01d92f421698873e
    Faulting application path: C:\Program Files\LimagitoX File Mover\LimagitoXS.exe
    Faulting module path: C:\Windows\SYSTEM32\ntdll.dll

    Since we started in 2007 we never had such a hard time finding an issue. Together with the customer, who we really need to thank for all his help, we found the reason and fixed the issue in version v2023.4.5.0.

    #FileTransfer

    If you need any info , please let us know.

    Best regards,

    Limagito Team

    By Limagito-Team Error ,
1 36 37 38 39 40 41 42 145
SEARCH