Operadores

Son operadores ScriptFTP simbolos usados, para la realización de operaciones lógicas o aritméticas , también hay operadores de comparación y concatenación de cadenas de texto. El comportamiento de los operadores , al igual que en cualquier otro lenguaje de programación es muy similar al de los comandos, la sulen tomar dos variables o valores y devolver uno. Los operadores soportados por ScriptFTP,son los siguientes :

Operadores aritméticos

  •   +  Sum.
  •   -  Substract.
  •   *  Multiply.
  •   /  Divide.

# Asignar 32 a la $La variable
$A="32"

# Asignar 1 a la $B variable
$B="1"

# $C es la suma de $A y $B
$C=$a+$B

# $D Es el resultado de resta o sustracción 1 a $A
$D=$A-1

# Multiplicando 5 y 7 te da $E
$E=5*7

# El uso de paréntesis, también permite:
$F=($A+(100/$C)-2)*5

# Si intenta utilizar un valor de aritmética
# la expresión se interpreta como un cero:
$esto es cero= 5*"abcdef"

Como el lenguaje de ScriptFTP está diseñado para operaciones por lotes y transferencias automáticas, las operaciones mas complejas, como raices cuadradas o potencias, no son compatibles.

Operadores comparación

  •   <  Menor que.
  •   >  Mayor que.
  •   <=  Menor o igual que.
  •   >=  Mayor o igual que.
  •   ==  Igual.
  •   !=  No igual.

El lenguaje de ScriptFTP es sin tipo. No hay tipos de datos y cada valor se almacena como una cadena de texto , números pares. Todas las operaciones lógicas, como la IF statement o los operadores lógicos mas abajo, se basan en la interpretación de la verdad, con el texto "TRUE" y falso con "FALSE". Esto significa que los operadores lógicos de hecho devuelven un valor que contiene texto "TRUE" o "FALSE". Véase un ejemplo:

# Guardar 4 en la variable $A
$A=4

# Guardar 3 en la variable $B
$B=3

# Es $B mayor que $A? Guarda el resultado en $R
$R= $B>$A

# muestra el contenido de $R en la ventana de ScriptFTP
# FALSE se debe imprimir
PRINT($R)

# Si $B es mayor que $A mostrar el mensaje, si no muestra otro mensaje
IF($R)
        PRINT("Este valor guardado en $B es mayor que uno guardado en $A")
ELSE
        PRINT("Este valor guardado en $B no es mayor que el guardado en $A")
END IF

# Debería ver el segundo mensaje

Operadores lógicos

  •   AND   Logical AND operation.
  •   OR   Logical OR operation.

Los operadores lógicos devuelven "TRUE" o "FALSE", esto es , porque como se dijo antes el lenguaje de ScriptFTP es sin tipos. Cada valor se almacena en forma de texto y los valores lógicos verdaderos o falsos se guardan como TRUE o FALSE respectivamente .

# Asignar suma de valores:
$A=-5
$mytext="abcdef"

# Si $a es menor o igual que 4 y $mytext es igual que "abcdef"
# Mostrará un mensaje en la ventana de ScriptFTP
IF(($A<=4) AND ($mytext=="abcdef"))
        PRINT("Both conditions were true")
END IF


# asignar a $mi valor lógico el resultado de
# dos de comparación combinado con el operador OR
$mi valor lógico= (3 > $a) OR (4<2)

# Como la primera comparación es verdadera y la segunda
# es falsa, $mylogicalvalue debería almacenar "TRUE"
PRINT($mi valor lógico)

 

#Conectar al servidor y cargar tres archivos
OPENHOST("ftp.myhost.com","myuser","123456")
$result1=PUTFILE("C:\My Documents\notes.txt")
$result2=PUTFILE("C:\theotherfile.txt")
$result3=PUTFILE("C:\backup.zip")
CLOSEHOST()

# Buscar si ha ocurrido un error:
# Si resultado1 es distinto que "OK" o
# resultado 2 es distinto que "OK" o
# resultado 3 es distinto que "OK" mostrará un error
IF(($result1!="OK") OR ($result2!="OK") OR ($result2!="OK"))
        PRINT("se encontró un error en la crga de los archivos")
ELSE
        PRINT("Carga de los archivos correcta ")
END IF
 

Operadores de texto valor

  •   .  concatenacion de valores o variables.

$text1="this"
$text2="is"
$text3="ScriptFTP"

# Show "thisisScriptFTP" on the ScriptFTP window
$complete_text_without_spaces=$text1.$text2.$text3
PRINT($complete_text_without_spaces)

# Show "this is ScriptFTP" on the ScriptFTP window
$complete_text_with_spaces=$text1." ".$text2." ".$text3
PRINT($complete_text_with_spaces)

# Print "Hello World!" three times on the ScriptFTP window
PRINT("Hello World!")
PRINT("Hello"." "."World!")
PRINT("He"."llo"." Wo"."rld!")