Webexec is a 32 bit console mode program which allows files to be copied and programs stored on a web server to be run locally under the control of a script. The script is a text file and is also on the web server. A setup up program is run which stuffs the name of the script into the webexec executable. It is recommended that the name of the executable be changed so that the original webexec is protected. A script is a text file containing lines of webexec commands, comments and labels. Spaces may appear within a command line. Leading and trailing spaces are ignored, spaces occurring within a label, variable name, or text string are significant. Comment lines must have ; as the _first_ character on the line. Lines containing commands may not have comments in them. Comments and blank lines are ignored. Commands are not case sensitive but labels and variable names are. Ensure that directories containing the executable files do not have executable permissions on the web server or they will treated as CGI programs and run by the web server. Webexec commands: get description: Get the specified url and store it locally. Secure sockets are not supported. If the url is a protected file then webexec will ask for a username and password. $t is a substitution for the local temp directory in the file name. syntax: get,url,file run description: Get the specified url, store it and execute it locally. If the url is a protected file then webexec will ask for a username and password. The results of this command set a flag that is read by onerr. $t is a substitution for the local temp directory. The temporary file is deleted after it is run. If the url is a local file then it is run from the local machine and is not deleted after it is run. syntax: run,url|local file,[parameters] echo description: Display a text string. The text string is optional, leaving it off will print a blank line. syntax: echo,[text] del description: Delete a locally stored file. syntax: del,file set Create and/or initialize a variable. If the variable has not been previously defined then it will be created otherwise it will only be initialized. Set _must_ preceed all other variable manipulation commands (inc, dec, add, sub, onzero). There are few rules for variable definitions. They may be any length (>1) and may contain alphabetic (both upper and lower case), numeric, and all punctuation characters except commas and colons. syntax: set,variable,value inc description: Add 1 to a variable. The variable must be defined before it can be used. syntax: inc,variable dec description: Subtract 1 from a variable. The variable must be defined before it can be used. syntax: dec,variable add description: Add a literal or the value of another variable to a variable. All variables must be defined before they can be used. syntax: add,variable,variable|value sub description: Subtract a literal or the value of another variable from a variable. All variables must be defined before they can be used. syntax: sub,variable,variable|value onzero description: Branch if the value of the specified variable is zero. The variable must be defined before it can be used and the label must be present in the script. syntax: onzero,variable,label onerr description: Branch if the result of the last run command was an error. The label must exist in the script. syntax: onerr,label goto description: Unconditionally branch to a label. The label must exist in the script. syntax: goto,label onexist description: Branch conditionally if the file/directory or url listed exists. syntax: onexist,url|file,label mkdir/rmdir description: Create/delete a local directory. Commands will fail silently if the directory can't be created for mkdir or deleted for rmdir. Use onexist to check if command succeeded. syntax: mkdir, directory rmdir, directory compare description: Compare the contents of two local files, if they are different (either in length or content) set the syserr flag. Use onerr to branch on the result. syntax: compare,file,file nopause description: Disable pause and wait for user input on fatal errors. syntax: nopause Labels: A label consists of a sequence of letters, numbers, punctuation and spaces which ends in a : and appears by itself on a line. Commas are not legal characters. Leading white space is ignored. Example: echo,this is a test set,i,3 loop: echo,this is also a test dec,i onzero,i,exit goto,loop exit: The result of running this script will be: this is a test this is also a test this is also a test this is also a test