Updating 2.x scripts
Changes in the script language compared to its 2.x version are minimal, but it is required to change bits and pieces of a script file in order to have it working in the 3.x series:
- Every variable must start with the character “$”. Put $ at the beginning of every variable. See the example below.
# Variables: # # 2.x: myuser="joe" mypass="1234" myserver="ftp.host.com" myresult=OPENHOST(myserver,myuser,mypass) # 3.x $myuser="joe" $mypass="1234" $myserver="ftp.host.com" $myresult=OPENHOST($myserver,$myuser,$mypass)
- Every label must start with the character “:”. Put : at the beginning of every label. See the example below.
# Labels: # # 2.x :mylabel GOTO mylabel # 3.x :mylabel GOTO :mylabel
- The commands ISEQUAL, NOT, ADD and CONCAT are no longer supported. You have to replace them with their corresponding symbol. See the example below:
# ADD, NOT, ISEQUAL and CONCAT # # 2.x num=ADD(num,3) IF(NOT(ISEQUAL(result,"OK"))) PRINT("operation failed") END IF IF(ISEQUAL(result,"12451")) PRINT("Access error") END IF mymessage=CONCAT("hello ",name) PRINT(mymessage) # 3.x $num=$num+3 IF($result!="OK") PRINT("operation failed") END IF IF($result==12451) PRINT("Access error") END IF $mymessage="hello ".$name PRINT($mymessage)
- The command LIST is no longer supported. Use GETLIST and FOREACH instead. See the example below:
# ADD, NOT, ISEQUAL and CONCAT # # 2.x num=ADD(num,3) IF(NOT(ISEQUAL(result,"OK"))) PRINT("operation failed") END IF IF(ISEQUAL(result,"12451")) PRINT("Access error") END IF mymessage=CONCAT("hello ",name) PRINT(mymessage) # 3.x $num=$num+3 IF($result!="OK") PRINT("operation failed") END IF IF($result==12451) PRINT("Access error") END IF $mymessage="hello ".$name PRINT($mymessage)
- The command SETSSL has been renamed to SETPROTOCOL. The syntax and parameters are the same.
- The command QUOTE is no longer used. Use simple quotes (‘) in the
# ScriptFTP 2.x: # This command produces the external command: # copy "my file.zip" C:\destination EXEC(CONCAT("copy ",QUOTE,"my file.zip",QUOTE," C:\destination")) # ScriptFTP 3.x: # This command produces the external command: # copy "my file.zip" C:\destination EXEC('copy "my file.zip" C:\destination')