Pascal Script

  • 16 May

    How to pick files from user’s Desktop/Export folder

    Q: I am trying to create a rule where we need to pick files from user’s Desktop/Export folder, and the computer has several different users. The path goes like this \\<hostname>\C$\Users\<userid>\Desktop\Export\. I want the <userid> as a wild card where Limagito can monitor all the Desktop\Export path under all the users. I would really appreciate any suggestions on how to handle this. Thanks!

    A: This is possible using our scripting option.

    • Start with the following Windows as Source option:
      • Set  %VSA  as Directory, %VSA = Variable String A
      • %VSA will be set by our Pascal Script option

    limagito filemover windows folder as source option

    •  Open our Pascal Script option:

    limagito filemover pascal script option

    • Enable and add the following ‘On Rule Begin’ script:
      • You can download the script here
      • Do not forget to adjust the ‘ctUsersDir’ Const
      • This script will list all users and check if they have an ‘Export’ folder on their Desktop

    limagito filemover pick files user’s Desktop script

    • You can add any file or directory filter if needed, that is up to you.
    • Select the Function and if you would choose ‘Copy’ then do not forget to enable our File Memory option otherwise you would copy the same files over and over  again.
    • Destination Setup:
      • First Destination must be ‘Pascal Script’ (PScript).
      • Second Destination, we used a Windows folder but you can use other too.

    limagito filemover destination setup

    • First Destination: Pascal Script
      • You can download the script here
      • The script will strip the UserID from the FileDir and put it into %VSB (= Var String B)

    limagito filemover pascalscript as destination

    • Second Destination, Windows Folder:

    limagito filemover windows folder as destination

    • Set the ‘Create Subdir’ to:  %VSB\%SFS
      • %VSB will contain the UserID

    limagito filemover windows subfolder as destination

    If you need any help about this ‘pick files user’s Desktop’ request, please let us know.

    Best Regards,

    Limagito Team

    #managedfiletransfer #filetransfer #filemanagement #limagito

  • 26 Apr

    Source file parsing and vlookup configuration

    Q: Source file parsing request:
    It was a pleasure meeting you this morning, we had a productive time upgrading our lower-environment server.
    Now, I have a specific requirement, I want to know if this is doable in Limagito?
    I have attached 3 source log files, and an Excel file for lookup values.
    Let me know what is possible and what isn’t.
    Your help would be appreciated.
           Requirement is.
    1. Get a portion of the sourcefilename
      -Filename is: 3294006586260310100730.log
      -get 7th position and is 4 digits in length (is the instrument-Slno)
      -Lookup for slno in the csv file for a possible match
      -in the 1st column (match just the 1st 4 digits alone)
      -and get the associated value in the 2nd column.             (VAR-1)
      -if there isn’t a match, then assign ‘Default‘ to VAR-1
    2. Open source-file
      -and lookup for a static-string ‘Donation ID’:
      -and get the associated value which is on the same line. (VAR-2)
      -if there isn’t a match, then assign ‘None‘ to VAR-2
      -if there are any backward or forward slashes within the value, replace it with space
    3. Rename the Target file name.
      -with the original Primary name
      -and suffix it with ‘-‘
      -and suffix it with (VAR-2)
      -and suffix it with ‘-‘
      -and suffix it with (VAR-1)
      -File Extension should be ‘.TXT
    1. Create a folder with the name (VAR-1) on the Target path and drop the associated renamed file in it.

    A: Yes this is possible using our srcipting option.

    • The Source must be a Windows folder (or share):

    limagito filemover windows folder or share as source

    • As file filter we used *.log because we only need to search for log files:

    limagito filemover file filter setup

    • Open our Pascal Script option:

    limagito filemover pascal script option

    • Enable and add the following ‘On Rule Begin’ script:
      • This script will load the content of the ‘AssetID_with_SerialNumber.csv’ file. You can adjust the ctCsvFile const if needed.
      • It must be a csv file
      • You can download the script here

    limagito filemover pascal script source file parsing

    • Funtion setup:
      • We are using ‘Move Files’ in our test setup
      • If you want to keep the files in the source then
        • Select ‘Copy Files’ instead
        • Enable our File Memory option! This way we will only copy the same file once.

    limagito filemover function setup

    • Destination Setup
      • First Destination MUST be our Pascal Script option
      • Second Destination is the destination folder of moved log files

    limagito file mover destination setup

    • First Destination: Pascal Script
      • You can download the script here
      • The script will strip an ID from the source filename (Char 7 – 10)
      • This ID will be used to get the ‘AssetID’ from the csv file
      • AssetID will be used to parse the source file for the ‘Donation ID’ information
        • / and  \ will be replaced with a space
        • Invalid directory char will be removed

    limagito filemover source file parsing

    • Second Destination: We used a Windows Folder but can be any other destination type

    limagito file mover windows folder as destination

    • Adjust ‘Create Subdir, opt.’ to:  %VSB\%SFS
      • %VSB var contains the AssetID parsed from the csv file

    limagito filemover file and directory setup

    • Enable ‘Rename Files during Copy/Move’ option:

    limagito filemover file renaming option

    • File Rename setup:
      • RegEx:  (.*)\.(.*)
      • Replacement:  \1-%VSC-%VSB.log
        • Filename will be renamed and extension will change from .log to .txt

    limagito filemover file renaming setup

    • RunTime Log result:

    limagito file mover runtime log result

    If you need any help about this ‘source file parsing’ request, please let us know.

    Best Regards,

    Limagito Team

    #csv #managedfiletransfer #filetransfer #filemanagement #limagito

  • 06 Apr

    How to use day of the week folders based on the filename

    Using day of the week folders

    Q: I would like to sort my files based on the filename. The first 8 char contain the date that has to be used. The format is YYYYMMDD (Year = 4 char, Month = 2 char and Day 2 = char).

    A: This is possible using our Pascal Script option. We’ve attached some screenshots to get you started.

    • We used a Windows folder as Source:

    limagito file mover windows folder as source

    • File Filter Setup:

    limagito file mover filename include filter

    • Open our Pascal Script option:

    limagito file mover pascal script option

    • Enable and add the following ‘On Destination’ script:
      • The script will strip the date part from the filename and will check the day of the week
        • Corresponding day of the week will go into the %VSA (Var String A) parameter which will be used in the Destination setup
    Var
      tmpStr: String;
      tmpDate: TDateTime;
      tmpDays: array[1..7] of string;
    Const
      ctDateFormat = 'YYYYMMDD';
      ctDateFormatLen = 8;
      ctDateSeparator = #0;
    Begin
      tmpDays[1] := 'Monday';
      tmpDays[2] := 'Tuesday';
      tmpDays[3] := 'Wednesday';
      tmpDays[4] := 'Thursday';
      tmpDays[5] := 'Friday';
      tmpDays[6] := 'Saturday';
      tmpDays[7] := 'Sunday';
      // Default Result = Skip File
      psExitCode:= 0;
      psVSA := '';
      // ... add your code here
      tmpStr := Copy(psFileName, 1, ctDateFormatLen);
      If StrToIntDef(tmpStr, -1) <> -1 Then
      Begin
        Try
          tmpDate := psStrToDate(tmpStr, ctDateFormat, ctDateSeparator);
          psVSA := tmpDays[DayOfTheWeek(tmpDate)];
          // Successful Result
          psExitCode := 1;
          // Debug
          psLogWrite(1, '', psFileName + ' will go into subfolder: ' + psVSA);
        Except
          psLogWrite(1, '', psFileName + ' conversion exception of date part, file will be skipped');    
        End;
      End
      Else
      Begin
        psLogWrite(1, '', psFileName + ' does not start with a valid date, file will be skipped');
      End;
    End.

    limagito file mover day of the week folders

    • Destination Setup:

    limagito file mover windows folder as destination

    • Important, adjust the default ‘Create Subdir option’, add %VSA (%VSA contains the day of the week):

    limagito file mover day of the week folders

    • RunTime Log Result:

    limagito file mover runtime log

    If you need any help about this ‘day of the week folders’ option, please let us know.

    Best Regards,

    Limagito Team

    #managedfiletransfer #filetransfer #filemanagement #limagito

1 2 3 4 33
SEARCH