How to setup a rule that reads a list of folders from a file
Q: I wonder can you help me. I have a Source folder with hundreds of subfolders, each with a 5-digit numeric name –
c:\source\23432, c:\source\76453 – you get the idea
Inside each subfolder is a list of .txt and/or .inp files. – that’s kind of irrelevant.
I’m trying to setup a rule that reads a list of folders from a file, one per line
I want the rule to move t or copy the contents of just those subfolders to a destination which will also have the entry from the file somewhere in the destination path – e:\destinatio\<foldername>\target for eample
I’ve tried use %FSA in various ways, but I’m hitting a brick wall. Any ideas?
Limagito: Could you send me an example of such a file which contains the folders to copy
It’s as simple as these – so the source folders would, for example, be c:\source\<linefromfile> and the destination would be e:\dest\<linefromfile>
Limagito: ok both text files are just examples I guess. Th text file to read from would always have the same name or would there be multiple txt files?
For each rule, the text file will always be the same – one text file per job. The contents of each source folder however will change
A: This is possible using a custom script.
- We are using a Windows folder as source.
- This folder contains subfolders, each with a 5-digit nummer.
- Please open our ‘Pascal Script’ option:
- Please enable and add the following ‘On Rule Begin’ Pascal Script. Don’t forget to adjust the ctTxtFile const. The script will read the content of the external text file and will set to our %VSA variable. This %VSA variable will be used in the Directory setup later.
You can download the script: here
- The Directory Filter setup is very important in this case:
- Enable ‘Include Subdirectories’
- ‘Exclude Basedirectory’, because we only are interested in the content of the subfolders
- Set ‘Subdirectory Filter Depth’ to ‘1’. Only the first level folder name is the one that will be used to check if it exists in the txt file.
- Switch to the ‘Dir Name’, ‘Include’ tab:
- Add %VSA as Directory Include Filter
- Switch to ‘Advanced’ tab:
- Set ‘SubDir Search Mode (WIN) to ‘Exclude Complete Invalid SubDirs’
- The reason is that we will not scan invalid subfolders. So, if we can not find the folder name (5-digit numeric name) in the external text file, we’ll skip the subfolder completely.
- Set ‘SubDir Search Mode (WIN) to ‘Exclude Complete Invalid SubDirs’
- We used a Windows Folder as Destination with default setup options:
- RunTime log result:
- Destination output result:
#filetransfer #filemanagement
If you need any help with this ‘list of folders from a file’ request, please let us know.
Best Regards,
Limagito Team