Script

FTP

The professional tool to automate FTP, SFTP, FTPS and Batch FTP

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')