- GETTING STARTED
- GUIDES
- Transfererir sólo los archivos modificados
- Hacer una copia de seguridad
- Guardar los mensajes de ScriptFTP en un archivo de log
- Envio de correos electrónicos desde un script
- Manejo de errores
- ScriptFTP en la linea de comandos
- Actualizar un script para ScriptFTP v1.x
- Actualizar un script para ScriptFTP v2.x
- Cifrar scripts
- Conversión de scripts en archivos EXE
- Operadores: +,-,==,!=....
- COMANDOS
- CONEXIÓN CON EL SERVIDOR
- TRANSFERENCIA DE ARCHIVOS
- OPERACIONES DEL DIRECTORIO
- OPERACIONES DE ARCHIVOS
- SALIDA DEL Script
- MISCELÁNEO
- OTROS
Lección 4: Utilización de IF, WHILE y GOTO
IF y WHILE Son elementos del lenguaje para evaluar las condiciones. Ud puede utilizar para evaluar las condiciones de error, La realizacion de las acciones un numero determinado de veces etc. Puesto qye todas las variables en el ScriptFTP contienen texto, El texto " verdadero " texto como verdadero .Cualquier otro texto se evalua como falso.Por ejemplo :
IF("TRUE")
PRINT("ScriptFTP rules")
END IF
IF("fdasfdas")
PRINT("hi")
END IF
$mi variable ="TRUE"
if($mi variable )
PRINT("ScriptFTP rules")
END IF
Y de salida es:
ScriptFTP normas
ScriptFTP normas
Como se puede ver desde la salida del script de la instrucción IF solo se ejecuta si el cuerpo de las condiciones es igual al texto verdadero "VERDADERO".
Veamos un ejemplo mas útil. En el siguiente script el IF se usa para comprobar si la siguiente declaración OPENHOST se ejecutó correctamente:
# conectarse a ftp.myhost.com y descargar
# Todos los archivos en la carpeta.
#
#
# Inicio de sesión del servidor:
$host="ftp.myhost.com"
$user="carl"
$password="1234567890"
# Es una etiqueta y marca un punto
# en el script
:start
# conectar al servidor FTP
$resulta=openhost($host,$user,$password)
# ver lo que pasó en openhost
IF($result=="OK")
PRINT("CONNECTED")
ELSE
PRINT("Cannot connect. Waiting 5 seconds.")
SLEEP(5)
GOTO :comienzo
END IF
# hacer las cosas
LOCALCHDIR("C:\localwww\")
CHDIR("www")
GETFILE("*.*")
CLOSEHOST()
PRINT("FINISHED")
EXIT
El comando WHILE ejecutará todos los comandos dentro de él, siempre y cuando la condición sea "TRUE". En la siguiente secuencia de WHILE nunca terminará mientras no se mantenga un directorio de script sincronizado con un sitio FTP:
# Este script,bucle, se puede mantener a voluntad indefinidamente
# Directorio local sincronizado con un sitio FTP.
#
#
# Información de acceso al servidor
$host="172.16.0.4"
$user="carl"
$password="123456"
# conectar con el servidor
OPENHOST($host,$user,$password)
# Change current remote directory
CHDIR("remotedir/remotesubdir")
# cambiar el directorio local actual
LOCALCHDIR("C:\localdir\")
# Un bucle indefinido
WHILE("TRUE")
$result=GETFILE("*.*")
IF($result!="OK")
PRINT("ERROR in GetFile, exiting")
# Exit with error code 1
EXIT(1)
ELSE
PRINT("All files downloaded. Waiting 10 seconds")
SLEEP(10)
END IF
END WHILE
Next Lesson: manejo de las lista de archivos

