File Mover Blog

October 10, 2024

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 Share:
SEARCH