Filters

  • 10 Oct

    File Copy with Destination path and name lookup

    File Copy with Destination path and name lookup

    Q: I have a source folder that has a ton of subfolders and files with a guid type filename. I have the translation from the source path\filename to the new desired path\filename. Is there a way to do this in Limagito?  I can put the list in any file format (delimited file, json, xml) or from a sql lookup. Is it possible to only copy files that it finds?

    A: Should be possible using a csv file with a | (pipe) between source and destination files. I’ve added some screenshots to get you started.

    – We used a Windows folder as Source:

    limagito file mover windows folder as source– Open our Pascal Script option:
    limagito file mover pascal script option

    • Enable and Add the following Pascal Script:
      • Do not forget to adjust the ctCSVFile Const value
      • We’ll use this file to determine the Destination Path and File. Content example file we used (csv.txt):
        limagito file mover name lookup
      • Be sure to use a | (pipe) as separator
    Var
      tmpName, tmpValue: String;
      iList: Integer;
      tmpList: TStringList;
    Const
      ctCSVFile = 'C:\Test\Csv\csv.txt';
    Begin
      psExitCode:= 0;
      psVSA := '';
      psVSB := '';
      // ... add your code here
      tmpList := TStringList.Create;
      Try
        tmpList.NameValueSeparator := '|';
        Try
          tmpList.LoadFromFile(ctCSVFile);
          // Iterate
          For iList := 0 to (tmpList.Count-1) Do
          Begin
            tmpName := tmpList.Names[iList];
            tmpValue := tmpList.ValueFromIndex[iList];
            If SameText(psFilePath+psFileName, tmpName) Then
            Begin
              psVSA := ExtractFilePath(tmpValue); // FilePath
              psCreatePath(psVSA);
              psVSB := ExtractFileName(tmpValue); // FileName
              // Set Result
              psExitCode := 1;
              // Break
              Break;
            End;
          End;
        Except
          psLogWrite(1, '', 'Error loading CSV: ' + ctCSVFile);
        End;
      Finally
        tmpList.Free;
      End;
    End.

    limagito file mover pascal script setup– Destination Setup:
    limagito file mover destination setup

    • We used a Windows folder as Destination:
      • Please use %VSA as Directory
      • The parameter %VSA will contain data from the previous Pascal Script

    limagito file mover windows folder as destination

    • File Renaming Setup:

    limagito file mover destination file renaming setup

    • RegEx:  (.*)
    • Replacement:  %VSB
      • Parameter %VSB will contain data from the previous Pascal Script

    limagito file mover file renaming setup– RunTime Log Result:
    limagito file mover runtime log result
    If you need any help with this ‘name lookup’ question, please let us know.

    Best Regards,

    Limagito Team

    #managedfiletransfer #filetransfer #filemanagement

    By Limagito-Team Filters WIN
  • 08 Sep

    How to delete empty folder, but there are hidden DS_Store files

    How to delete empty, but there are hidden DS_Store files

    Q: I tried to setup the flow to delete folders if it’s empty, but in each folder there’s a hidden file  (.DS_Store). I guess that’s why it couldn’t delete any of the empty folders. Do you have any solution for this?

    limagito file mover directory filter setup

    A: Should be possible using our Pascal Script option. Important is that we should move files from those folders first, otherwise the script will not work.

    • Please open our Pascal Script option:

    limagito file mover pascal script option

    limagito file mover delete hidden DS_Store files

    If you need any help with this ‘hidden DS_Store files’ question, please let us know.

    Best Regards,

    Limagito Team

    #managedfiletransfer #filetransfer #filemanagement

    By Limagito-Team Filters WIN
  • 04 Sep

    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

1 2 3 4 5 10
SEARCH