Limagito Filemover Software Blog and News

August 1, 2020

Q&A 21: Generate a status file for each file which was successfully moved

Q:  I need to know if a status file can be generated when a file is successfully moved that includes the source location?

We would like a log file generated called 123456.pdf.log that contains the following data:

Remote path: C:\upload\input\123456.pdf
Affinity PDF has been transferred to distiller
Delivery log name: C:\upload\output\123456.pdf.log

The remote path is the location where the file was moved from
The second line is just a text line
The Delivery Log Name is the location where the file was placed and the name of the log file

A: Yes this is possible using some Pascal Script.

Let’s start with the Source. In our example it is a Windows Folder:

‘C:\Test\In_PDF\’.

LimagitoX File Mover Windows Folder as Source

Important, in the function Setup you need to set the ‘Destination Options’ to ‘Exit Cyclus on Error’. Reason is that we want to be 100% sure that the file was moved before we write the status file.

LimagitoX File Mover Function Setup

Destinations Setup, the first destination is the folder where the pdf needs to be moved to. The second destination is the ‘Pascal Script’ needed for the creation of the status file.

LimagitoX File Mover Destinations

We added a Windows folder as first Destination. Default Setup is ok.

LimagitoX File Mover WIN as destination

The second Destination is our ‘Pascal Script’ needed for the creation of the status file:

Var
  tmpList: TStringList;
  tmpLogName: String;
  tmpLogPath: String;
Const
  ctLogRootDir = 'C:\Test\Out\PDF';
Begin
  tmpLogPath := ctLogRootDir + '%SFS\';
  psExitCode:= 1;
  // ... add your code here    
  tmpList := TStringList.Create;
  Try
    tmpLogName := '%SFN.log';
    Try    
      tmpList.Add('Remote path: %SFP%SFN'); 
      tmpList.Add('Affinity PDF has been transferred to distiller');
      tmpList.Add('Delivery log name: ' + tmpLogPath + tmpLogName);
      // Save
      psLogWrite(1, '', 'SaveToFile: ' + tmpLogPath + tmpLogName);
      tmpList.SaveToFile(tmpLogPath + tmpLogName);   
    Except
      psLogWrite(1, '', 'Log Create Error');
    End;  
  Finally
    tmpList.Free;
  End;  
End.

LimagitoX File Mover Pascal Script as Destination

RunTime Log Result:

Output Folder Result:

If you need any help , please let us know.
Regards,
Limagito Team
By Limagito Q&A Share: