File Mover Blog

November 2, 2023

How to filter files based on reading their content header data

How to filter files based on reading their content header data

Q: How to filter file from read content in file. Header data date=today yyyymmdd

I want is as shown in the picture below.

filter files based on reading their content header data\filter files based on reading their content header data

A: In this case the Source must be a Windows folder or share:

limagito file mover windows folder as source

Test file inside of: C:\Test\Customer\In\

limagito fil emover test file example

Please open our Pascal Script option:

limagito file mover pascal script option

Please enable and add the following ‘On Destination’ Pascal Script:

Var
  iList: Integer;
  tmpCurrentDate, tmpEntry, tmpFile: String;
  tmpList: TStringList;
Const
  ctRunDate = 'RUNDATE=';
Begin
  psVSA := '';
  psExitCode:= -2;
  tmpCurrentDate := FormatDateTime('YYYYMMDD', Now);
  tmpFile := psFilePath + psFileName;
  psLogWrite(1, '', 'Searching for RUNDATE inside File: ' + tmpFile);
  tmpList := TStringList.Create;
  Try
    Try
      tmpList.LoadFromFile(tmpFile);
      // Iterate
      For iList := 0 to (tmpList.Count - 1) Do
      Begin
        tmpEntry := AnsiUpperCase(tmpList.Strings[iList]);
        If pos(ctRunDate, tmpEntry) <> 0 Then
        Begin
          tmpEntry := psStringReplace(tmpEntry, ctRunDate, '');
          If tmpEntry <> '' Then
          Begin
            If SameText(tmpEntry, tmpCurrentdate) Then
            Begin
              psExitCode := 1; // Filter found
              // Debug
              psLogWrite(1, '', 'Valid RUNDATE found: ' + tmpEntry);
              // Break
              Break;
            End;  
          End;
        End;
      End;
     Except
       psLogWrite(1, '', 'LoadFromFileError, ' + tmpFile);
     End;
  Finally
    tmpList.Free;
  End;
End.

limagito file mover pascal script option

We added the following filename include filter because it is important to only process text based files:

limagito file mover file filter setup

We added a Windows folder as Destination:

limagito file mover destination setup

RunTime Log result:

limagito file mover runtime log result

#filehandling #filetransfer #filemanagement

If you need any help with this ‘filter files based on reading their content header data’ request, please let us know.

Best Regards,

Limagito Team

SEARCH