Este script, genera un fichero temporal a partir de los ficheros que se encuentren en una carpeta predeterminada, luego se utiliza como lista para enviarlos por ftp. Luego se mueven a otra carpeta para evitar subirlos por duplicado. También se evita mover los ficheros sin que estos se hayan comunicado.
@echo off
cls
rem Script que realiza una subida de ficheros a FTP a partir de una lista.
rem (c) 2014 El pibe.
REM Definimos las variables a utilizar para establecer la conexion con el ftp remoto.
SETLOCAL EnableExtensions
REM definimos el servidor
SET FTP_SERVIDOR=192.168.1.33
REM definimos el usuario
SET FTP_USUARIO=usuariodemo
REM definimos la contraseña
SET FTP_CLAVE=usuariodemo
REM definimos el fichero que contendrá la información a enviar hacia el FTP.
SET Commands="COMANDO.TXT"
ECHO %FTP_USUARIO%>> %Commands%
ECHO %FTP_CLAVE%>> %Commands%
rem Obtenemos una lista de los ficheros a enviar y lo guardamos en el temporal LISTA.LST
DIR *.TXT /B /OD > LISTA.LST
REM De la lista guardada en LISTA.LST añadimos cada nombre de fichero y lo almacenamos junto con el resto de comandos en COMANDO.TXT
FOR /F "tokens=1*" %%I IN (LISTA.LST) do echo put %%I >>%Commands%
REM Cerramos la conexión.
ECHO close >> %Commands%
ECHO bye >> %Commands%
REM Enviamos los ficheros utilizando los parametros que se encuentran dentro de COMANDO.TXT
FTP -d -i -s:%Commands% %FTP_SERVIDOR%
REM Una vez enviados los ficheros, obtenemos nuevamente los nombres de los ficheros enviados y los movemos a otra carpeta, por ejemplo BAK
FOR /F "tokens=1*" %%I IN (LISTA.LST) DO MOVE %%I .\BAK\;
REM Borramos los ficheros generados para esta sesión.
DEL LISTA.LST COMANDO.TXT
Espero que les resulte útil.
0 comentarios:
Publicar un comentario