In a nutshell, Robo-FTP uses script files to manage the process of automating file transfers from your PC to a remote FTP server and vice versa as well as related tasks like renaming files, sending email notifications, PGP encryption, ZIP/UNZIP, and more.
Script files are made up of one or more of the 100+ commands within the Robo-FTP script language. In essence, each line in a script consists of a command (e.g, SENDFILE) followed by one or more arguments that tells Robo-FTP what to do.
Basic script files may be produced with the Script File Wizard, or manually created using the Robo-EDIT Script File Editor (or any other text editor). Robo-FTP has toolbar buttons to launch the wizard and Robo-EDIT for this purpose.
Command Opcodes
Each command opcode tells Robo-FTP to perform a specific operation such as logging onto the FTP site, deleting a file, uploading a file to the site, etc. Typically script commands are ALL CAPS (e.g., SENDFILE vs. sendfile or SendFile) but this is only convention -- you may do as you please. Examples of command opcodes are shown below:
FTPLOGOFF
STOP
Command Arguments
Arguments to a command refine the operation for a very specific task (e.g. tell Robo-FTP specifically what file to upload). Robo-FTP command arguments will be one of the following types:
An alpha-numeric string (enclosed in single or double quotes)
A variable name (starting with alphabetic character, %, or $ symbol)
A command option (starting with / symbol)
A numeric value
Alphanumeric arguments define file names and other character strings (e.g., text messages to be displayed to a user) and are always enclosed by single or double quotation marks. Examples of commands including alphanumeric arguments are shown below:
SENDFILE "c:\My Data\Update Inventory.dbf"
COPY "file2" "file1"
Whenever you are using a file name as an argument (such as seen in the previous examples), Robo-FTP always assumes the file is located in the current working folder. If you want to reference a file elsewhere, you should use the file’s full path name.
Command Options
Command option(s) expand on the functionality of a given command. Option designators always begin with the / symbol (i.e., a forward slash) and must not contain any embedded spaces (i.e., in an option such as /timeout=10, you must not put spaces on either side of the equal sign). Many commands support multiple options. Examples of commands including options are shown below:
FTPLOGON /user="myuser" /pw="mypassword"
RCVFILE /timeout=0
Script Labels
To facilitate conditional and unconditional branching in Robo-FTP script files, a label is used to define the destination of a branch. Labels always begin with the : symbol (i.e, a colon), must not exceed 32 characters in length, and may appear anywhere on a line. Labels are always used in conjunction with branching commands (e.g., the GOTO command). An example of unconditional branching is shown below:
:top
FTPLOGON /user="myuser" /pw="mypassword"
SENDFILE "c:\My Data\Update Inventory.dbf"
FTPLOGOFF
GOTO top
Either a ; symbol (i.e., a semi-colon) or a * symbol (i.e., an asterisk) may be used to denote the beginning of a comment line. A comment may be a separate line unto itself or at the end of any line containing a command. The following show examples of three different comments:
;; Log onto a FTP server
FTPLOGON
* this is a comment line *
MESSAGEBOX "hello world"
DIALNET "My Connection" ;; use Dial-Up Networking
Launching Scripts
There are several ways to launch your script, such as running it on-demand from a batch file or desktop shortcut, scheduling execution, and running it in the background as a Windows service. See the Robo-FTP Deployment Strategies Guide for more details.
Logging Results
Log files are a way to see the results of a file transfer session and/or troubleshoot problems with a session long after the fact. Log files are controlled under the Logging tab in the Robo-FTP Configurator and/or via specific script commands (e.g., LOG, TRACELOG). Any log file may be viewed in Windows Notepad, for example, to review the outcome of a file transfer session(s).
Script Log
This type of log file is enabled by default and shows each script command that was executed and the corresponding results.
Trace Log
This type of log file is disabled by default. It contains the actual protocol information sent back and forth between Robo-FTP and a server. This log can be useful for troubleshooting problems that may exist between Robo-FTP and the FTP server.