content data

  • 02 Nov

    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