Filters

  • 09 Jul

    List of filename parts to move in a text file with Limagito File Mover

    Q: Is it possible to have a list of filename parts in a text file and use this to move any files whose name matches the whole filename or part file name in a directory? I’ve had a look on the blog but I think that is only for 1 file using a part filename.

    A: In version v2021.7.9.0 we added a new option to achieve this. We added some screenshots to get you started.

    1. Windows Folder as Source. This folder will contain all files. We’ll filter them using information from a seperate text file.

    Limagito File Mover Source Setup

    Our Source folder contains 244 files:

    Limagito File Mover Source Files

    2.Next, please open the Rule Parameters option of this Rule.

    Limagito File Mover Rule Parameters

    Select the text file containing the filename parts we’ll use to filter the files we want to copy. We selected ‘On Rule Begin’ as Load File Mode, so the content of this text will will be reloaded on each Rule Begin. We also enabled ‘Reload only when file content changes’ to prevent unnecessary loading of this file.

    Limagito File Mover File Content Setup

    Content of the text file we’ll use to filter the files we want to copy, it contains parts of filenames.

    Limagito File Mover File Parts as Content Filter

    3. Open the File Filter setup and select ‘File Contents > Include’ Tab. Enable the new option called ‘Add wildcards to File Content Entries in search’.

    When enabled wildcards will be added to each entry of the file content (in memory) during the search.
    i.e.
    Suppose file name found in source folder would be: test.pdf
    And the include FileContent would contain: test
    With this option enabled the file would be picked up because we will check test.pdf with *test*

    Limagito File Mover File Filter Setup

    4. As Destination we also added a Windows Folder:

    Limagito File Mover Destination Setup

    5. RunTime Log Result. Of  the original 244 files in the Source folder, 216 were copied due to the File Content Filter.

    Limagito File Mover RunTime Log Result

    #FileTransfer

    If you need any info about this new ‘List of Filename parts’ option, please let us know.

    Best regards,

    Limagito Team

    By Limagito Filters , ,
  • 04 Apr

    Exclude some subfolders and the subfolders of the excluded subfolder

    Q: Exclude subfolders and the subfolders of the excluded subfolder. I’m connecting to a FTP site, looking through the folders for any files older than 28 days but I want to exclude some sub-folders and the sub-folders of the excluded folder.

    My current ‘Directory Filter’ setup doesn’t seem to work:

    Limagito File Mover Directory Filter Setup

    My current ‘Dir Name’ Exclude filter:

    Limagito File Mover Directory name exclude filter

    I also changed the Directory Filter Setup – Advanced – Exclude Complete Invalid SubDirs hoping it would skip the sub folders of the GRAPHICS PURGE folder.

    Limagito Team: “Reason, SubDir Search Mode (WIN) is for WIN as source only”

    Limagito File Mover Directory Filter setup

    But in the log file we see the ‘GRAPHICS PURGE’ folder and its subfolder BUL are not being excluded.

     

    Limagito Team:

    It is possible to achieve this but you’ll need to add some extra ‘Dir Name Exclude’ Filters, leave the ones you already had.

    GRAPHICS PURGE
    */GRAPHICS PURGE/*
    Ads
    */Ads/*
    PDF
    */PDF/*

    Limagito File Mover Directory name exclude filter setup

    #FileTransfer

    If you need any help with this ‘Exclude some subfolders’ request, please let us know.

    Best Regards,

    Limagito Team

    By Limagito Filters ,
  • 17 Oct

    Q&A 27: Check the length of a filename in LimagitoX File Mover

    Q: I want to check the length of a filename. We have a file renaming scheme that truncates the filename to a certain max length and adds a string to keep the file unique. Is it possible to add the string only when the filename gets truncated? or alternatively create a rule that only works if the filename is shorter than say 35 characters and another roule that works on files with a longer filename.
    A: Yes this is possible. We added 2 examples in this blog entry.
    1. First example will use the complete filename length and 2 rules.
    2. Second example will use the filename without extension and 1 rule with 2 destinations.

    First Example

    Please add two rules with the same source.

    We used the following include filter for the first rule:

    File Filter Setup > RegEx Tab > Include Filter

    ^[^|/\<>:?”*]{1,35}$
    Due to this RegEx file filter in the first rule it will include Filenames with length 1 .. 35 char

    LimagitoX File Mover RegEx File Filter

    We used the following include filter for the second rule:

    File Filter Setup > RegEx Tab > Include Filter

    ^[^|/\<>:?”*]{36,}$
    Due to this RegEx file filter in the second rule it will include files with length longer than 35 char (36 to ..)

    LimagitoX File Mover File Length RegEx Check

    Second Example

    We added a second example because the user had the following remark: “again thank you for your help the expression is working well, but it counts all the characters including the extension, I’m just trying to avoid bugs (some extensions are 3 char other are 4).”

    In this second example the length of the filename without file extension will be important. We’ll use one rule with 2 destinations. Depending on the length of the filename (without extension) it will use the first or second destination.

    >We added a Windows folder as Source:

    LimagitoX File Mover File Length example

    >We added two Destinations (both Windows folders). Depending on the length of the filename (without extension) it will use the first or second destination.

    LimagitoX File Mover File Length example

    > Open ‘Pascal Script’ Setup (Moving Rule Menu item):

    LimagitoX File Mover Pascal Script menu item

    >Please add the following ‘ On Destinations‘ Pascal Script. We have set the Constant ‘ctMaxLen’ to 10 in our second example (you can change this). Filenames without extension and longer than 10 will go to the second Destination (ID2). The rest of the files will go the the first Destination (ID1).

    Var
      tmpFileExt: String;
      tmpFileName: String;
      tmpLength: Integer;
    Const
      ctMaxLen = 10;  
    Begin
      psExitCode:= 0;
      // ... add your code here
      // psDestinationID	     'String' i.e. ID1, ID2,.. 
      tmpFileExt := ExtractFileExt(psFilename);
      tmpFileName := psStringReplace(psFilename, tmpFileExt, '');
      tmpLength := Length(tmpFileName);
      psLogWrite(1, '', 'Check length of ' + tmpFileName + ', Result: ' + IntToStr(tmpLength));
      // Default Do not Copy/Move
      psExitCode := -1;
      // Check first Destination, Copy/Move when equal of lower than ctMaxLen
      If (psDestinationID = 'ID1') And (tmpLength <= ctMaxLen) Then
      Begin
        psLogWrite(1, '', 'Destination ID1 will be used');
        psExitCode := 1;
      End;  
      // Check second Destination, Copy/Move when higher than ctMaxLen
      If (psDestinationID = 'ID2') And (tmpLength > ctMaxLen) Then
      Begin
        psLogWrite(1, '', 'Destination ID2 will be used');
        psExitCode := 1;
      End;  
    End.

    LimagitoX File Mover File Length Pascal Script

    >RunTime Log result. Files longer than 10 will use the second Destination (ID2).

    LimagitoX File Mover RunTime Log

    If you need any help with this ‘length of a filename’ request, please let us know.

    Best Regards,

    Limagito Team

1 2 3