Subir ficheros por FTP a partir de una lista de archivos dentro de un directorio.

Pues eso amig@s,

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.
Share on Google Plus
    Blogger Comment

0 comentarios: