File Mover Blog

September 4, 2024

How to when files arrive, copy files from an other source directory

How to when files arrive, copy files from an other source directory

Q: I need some help on a Limagito rule I need to write :

  • Check files into a source directory.
  • When these files arrive, copy files from an other source directory with same filename but different extension.

ie :

Check files named 123456.pregen from c:\Test\Search\

Then copy file c:\Test\In\123456.pdf to c:\dest\

A: Please have a look at the following screenshots:

  • We are using a Windows folder as source. The goal is to copy files from here to a destination. Which files will depend on the script we are going to add.

limagito file mover windows folder as source

  • File Filter Setup:
    • Add  %VSA  as include Filename Filter (%VSA = Variable String A)
    • The %VSA will contain the filenames we want to copy. Our Pascal script will add the filenames to this Var.

limagito file mover file filter setup

  • Enable ‘Allow parameters in File Name filter’ (File Filter Setup – Advanced Tab):

limagito file mover file filter advanced setup

  • Open our Pascal Script option

limagito file mover pascal script option

  • Add and enable the following ‘On Rule Begin’ Pascal Script:
    • Do not forget to adjust the CtSearchPath (ctSearchFilter and ctSearchSubFolders) Const

 

Var
  iList: Integer;
  tmpFilename: String;
  tmpList: TstringList;
Const
  ctSearchPath = 'C:\Test\Search\'; // Must end with a \
  ctSearchFilter = '*.pregen';
  ctSearchSubFolders = False; // False or True
Begin
  psExitCode:= 0;
  psVSA := '';
  // ... add your code here
  tmpList := psListFiles(ctSearchPath, ctSearchFilter, ctSearchSubFolders);
  Try
    For iList := 0 to (tmpList.Count-1) Do
    Begin
      tmpFilename := tmpList.Strings[iList];
      tmpFilename := ChangeFileExt(tmpFilename, '.pdf');
      psVSA := psVSA + tmpFilename + ';';    
    End;           
  Finally
    tmpList.Free;
  End;    
  // Debug
  psLogWrite(1, '', 'Filename filter as psVSA: ' + psVSA);
  // Set psExitCode
  If psVSA <> '' Then
    psExitCode := 1;
End.

limagito file mover copy files from an other source directory

  • We used a Windows folder as Destination:

limagito file mover windows folder as destination

  • Function is set to Copy in our example but also Move is possible

limagito file mover function setup

  • If function is set to Copy and you only want to copy the same files once, then please enable our File Memory option:

limagito file mover file memory option

  • RunTime log result:

limagito file mover runtime log

I forgot on line. If I want to delete my pregen file after copy/move, where can I add it on code ?

In this case some adjustments to the pascal script are needed:

limagito file mover pascal script option

limagito file mover pascal script option

If you need any help with this question, please let us know.

Best Regards,

Limagito Team

#managedfiletransfer #filetransfer #filemanagement

SEARCH