RoboMojo is simply a shell for calling Microsofts robust file transfer tool: ROBOCOPY. RoboMojo let's you set-up "Tasks" that you can get ROBOCOPY to do - avoiding the need to enter complex arguments everytime (and get them
wrong - after all, to err is human).
With RoboMojo you can also set-up "Jobs" which are collections of tasks.
Before You Start
RoboMojo uses settings configured in the RoboMojo.config file. The three settings to verfiy are:
NameAndPathOfDataFile specifies where your RoboMojo Jobs and
tasks are saved.
PathOfDataFileBackups specifies where back-ups of your RoboMojo
Jobs and tasks are saved.
LocationOfRoboCopyEXE specifies where the ROBOCOPY.EXE file
is on your system. The default setting should work for most users.
RoboMojo has one main screen, with three tabs.
- Run: used to run Tasks or Jobs
- Edit: used to manage your RoboMojo Jobs and Tasks
- Options / About: self explainatory. This will also show you what the current configuration is.
The RoboMojo Jobs and Tasks you create are stored by RoboMojo, currently the only option for this is as a text file. It's called RoboMojoState.txt, and by default is kept in the RoboMojo folder.
Shortcut for Copying RoboMojo Tasks
On the Edit tab, drag an existing Task onto a Job in the main tree control, this will create a copy of that Task on the target Job. The "Edit Task" part of the UI will populate with the details of the Task - beware that the new Task needs to be saved
before selecting a different Task or Job.
Issues / Things to be Aware of.
You can change the "theme" of RoboMojo on the Options tab, but the theme won't persist if you close RoboMojo. This feature will be completed in a future release.
The XML Data Provider likes to make a back-up copy of the RoboMojo data file (RoboMojoState.txt) whenever you make a change.
All RoboMojo Tasks have a "TaskOrder" property; at the moment you can't edit this via the UI - you'll have to dive into the RoboMojoState.txt file and change it manually.
RoboMojo and RoboMojoCMD each have their own separate config files, RoboMojo.exe.config and RoboMojoCMD.exe.config respectively.
Beware of calling ROBOCOPY tasks that write to special areas of the file system (like "Program Files" in Windows7) - if ROBOCOPY fails the ROBOCOPY cmd window will disappear realy fast (before you can read the error message. The best way to deal with
this is to get ROBOCOPY to write a log - this is one of the many options you can give to ROBOCOPY.
See Robocopy Options.txt for more info (also here:
), or manually invoke ROBOCOPY from a cmd prompt with the argument /?
RoboMojoCMD allows you to invoke RoboMojo Jobs from the command-line, for example:
C:\Program Files (x86)\Morphological Software Solutions\RoboMojo>robomojoCMD /C
The following help is provided if you run RoboMojoCMD with
or with incorrect parameters (or without any parameters at all):
/C Show Config.
/O Show Options.
/J Show Jobs List.
x Where x is a valid job id (integer).
Using RoboMojoCMD in Visual Studio as Post-Build Event
Took me a while to figure out - but it's easy when you know how. Here's an example - where "9" is the id of whatever job you want to call:
call "C:\Program Files (x86)\Morphological Software Solutions\RoboMojo\RoboMojoCMD.exe" 9
RoboMojo is free and open source software (but not the ROBOCOPY.EXE itself which belongs to Microsoft) and is released under the Ms-RL.
The icon used is by Forrest Walter (www.forrestwalter.com/icons).
The full licence is provided in Licence.txt. Contributions welcome, for more info see:
Copyright (C) 2010 Adrian Kearns / Morphological Software Solutions Limited