Limagito Filemover Software Blog and News

  • 24 Apr

    Pascal Script, User Request Example No 2

    Dear users,

    Second Pascal Script is based on the following user request:

    We need some help on setting up a rule.  The rule we are trying to setup is as follow. Source folder has files in it, example file names ABC-test.txt, 123_test.txt, and test_XYZ.txt.  We have a destination folder called “Test”, and we have 3 folders under it called ABC, 123, and XYZ.  We want the rule to separate the files and place them in their specified folders.  For example, file ABC-test.txt will be placed into folder ABC, 123_test.txt file will be placed into folder 123, and text_XYZ.txt file will be place into folder XYZ.  We want the files to be moved into the separated folders that matches their name.

    > Add your Destination:

    > Destination Setup, change the ‘Create Subdir, opt.’ to %VSB

    > Add the following ‘On Rule Begin’ Pascal Script. Very important: the ctOutputPath contant must be the same as your destination path (first screenshot) !

    Var
      iList: Integer;
      tmpSub: String;
      tmpList: TStringList;
    Const
      ctOutputPath = ‘C:\Test\Out\’;
    Begin
      psExitCode:= 1;
      // … add your code here
      psVSA := ”;
      tmpList := TStringList.Create;
      Try
        psListPaths(ctOutputPath, ‘*.*’, 0, tmpList);
        for iList := 0 to (tmpList.Count-1) do
        Begin
          tmpSub := tmpList.Strings[iList];
          tmpSub := psStringReplace(tmpSub, ctOutputPath, ”);
          tmpList.Strings[iList] := tmpSub;
        End;
        psVSA := tmpList.CommaText;
        // Debug
        psLogWrite(1, ”, ‘SubFolder found: ‘ + psVSA);
      Finally
        tmpList.Free;
      End;
    End.
    > Add the following ‘On Destinations‘ Pascal Script.
    Var
      iList: Integer;
      tmpSub: String;
      tmpList: TStringList;
    Const
      ctOutputSubPathNone = ‘None\’;
    Begin
      psExitCode:= 1;
      // … add your code here
      psVSB := ctOutputSubPathNone;
      // Iterate
      tmpList := TStringList.Create;
      Try
        tmpList.CommaText := psVSA;
        tmpList.Sort;
        for iList := (tmpList.Count-1) downto 0 Do
        Begin
          tmpSub := tmpList.Strings[iList];
          tmpSub := psStringReplace(tmpSub, ‘\’, ”);
          psLogWrite(1, ”, ‘Sub: ‘ + tmpSub);
          if Pos(LowerCase(tmpSub), LowerCase(psFileName)) <> 0 Then
          Begin
            psVSB := tmpSub;
            Break;
          End;
        End;
        // Debug
        psLogWrite(1, ‘Destination SubFolder will be: ‘, psVSB);
      Finally
        tmpList.Free;
      End;
    End.
    If you have any question about this example, don’t hesitate to ask.
    Regards,
    Limagito Team
  • 15 Apr

    Icon Legend

    Dear Users,

    We often get questions about the color of a certain icon in the Rule list. The following icon legend is available under the Help menu item.

    Mostly users ask about the orange color. The icon turns orange when an error occurs. You can reset this status with a right click on the Rule and click ‘Reset Info Status’. To disable this this behaviour, right click on the Rule ans select ‘Disable Info Status’.

    Regards,

    Limagito Team

  • 14 Apr

    Environment Variables Update

    Dear Users,

    On request we’ve added extra Environment Variables in version v2019.4.14.0.

    Environment Variables:

    %ALLUSERSPROFILE%’
    %APPDATA%
    %CLIENTNAME%
    %COMMONPROGRAMFILES%
    %COMPUTERNAME%
    %COMSPEC%
    %FPS_BROWSER_APP_PROFILE_STRING%
    %FPS_BROWSER_USER_PROFILE_STRING%
    %HOMEDRIVE%
    %HOMEPATH%
    %LOCALAPPDATA%
    %LOGONSERVER%
    %NUMBER_OF_PROCESSORS%
    %OS%
    %PATH%
    %PATHEXT%
    %PROCESSOR_ARCHITECTURE%
    %PROCESSOR_ARCHITEW6432%
    %PROCESSOR_IDENTIFIER%
    %PROCESSOR_LEVEL%
    %PROCESSOR_REVISION%
    %PROGRAMW6432%
    %PROGRAMDATA%
    %PROGRAMFILES%
    %PROGRAMFILES(X86)%
    %PSMODULEPATH%
    %PUBLIC%
    %SESSIONNAME%
    %SYSTEMDRIVE%
    %SYSTEMROOT%
    %TEMP%
    %TMP%
    %USERDOMAIN%
    %USERDNSDOMAIN%
    %USERNAME%
    %USERPROFILE%
    %WINDIR%

    Regards,
    Limagito Team

1 4 5 6 7 8 9 10 39