What about something like Syncthing? I use it to keep company files mirrored & backed up. It's the same technology as BitTorrent Sync. I avoid BitTorrent sync intentionally to prevent my data from going through their servers.
I did once use Syncthing to perform a Windows file server migration from a Win 2K server to an Isilon. Most/Many/All of the users used different combinations of mapped drives, network locations, and shortcuts. I used Syncthing to mirror the data between the two locations while I was able to migrate the users over time and normalize the methods they used to access files.
Depending on the amount of data this may not be a viable solution for you.
Hi Raul,
I haven't used Test or If Empy, but I can help with the rest. Here's a prototype example of subroutines:
wait for: and so it begins subroutine: $ALPHA subroutine: $BETA notify: Success... exit $ALPHA: wait for: some junk send: some other junk return $BETA: wait for: some other other junk send: junk completion return
Here's a working example that uses a timer, on error, and goto statements to answer repeated OK? N=> prompts with Y. When the questions stop the timer runs down and the script terminates.
$looper: on error: $terminate timer: 100 wait for: OK? N=> goto $prompted goto $terminate $prompted: timer: 0 send: Y<CR> goto: $looper $terminate: Exit
The real key when working with scripts is to only expect them to do exactly as told. I remind myself constantly that the scripting language is only minorly dynamic and that I cannot treat it as a programming language.
John
![Open Sesame!](https://community.intersystems.com/sites/default/files/badges/303371180-6de11138-f4e7-4113-b5cc-836269f07693.png)
![1,000 Points](https://community.intersystems.com/sites/default/files/badges/290121674-53216c4b-fe0c-44e7-9d75-2f24390135ed.png)
![Challenge Starter](https://community.intersystems.com/sites/default/files/badges/295959213-b83dd91a-663f-4f07-8e0e-e3287b7c2309.png)
![Popular writer](https://community.intersystems.com/sites/default/files/badges/poular_writer.png)
![DC Commenter](https://community.intersystems.com/sites/default/files/badges/dc_commenter_1.png)
![DC Problem Solver](https://community.intersystems.com/sites/default/files/badges/dc_problem_solver_1.png)
![InterSystems Researcher](https://community.intersystems.com/sites/default/files/badges/researcher.png)
If the C++ binding is installed you could/should be able to use a %RemoteResultSet object to accomplish what you're wanting to do. I've never done so myself so I can't confirm from experience.