En resumen, la solución consta de 3 pasos y consiste en crear dos archivos .bat y una tarea programada en Windows que ejecute uno de ellos.
Paso 1. Crear archivo de conexión FTP y subida de archivos: ftpcarga.bat
Abres tu bloc de notas,copias el código de abajo, lo personalizas según tu "situación" y cuando lo guardas le das de nombre ftpcarga.bat.
open hostftpdetudominioejemplo:ftp.tudominio.com
tunombredeusuarioftptupasswordcorrespondientelcd c:\RutaDeCarpetaDeOrigenLocalcd RutaDeCarpetaDestinoRemotoEnElServidorput archivoquesubiré1put archivoquesubiré2put archivoquesubiréNbye
Paso 2. Crear archivo que ejecute ftpcarga.bat: ejecutar.bat
El archivo ftpcarga.bat requiere ser ejecutado por otro. Entonces, abres tu bloc de notas,copias el código de abajo, y cuando lo guardas le das de nombre ejecutar.bat. Guárdalo en la mismca carpeta que el otro archivo ftpcarga.bat
ftp -s:ftpcarga.batexit
Paso 3. Crear una nueva tarea programada
Para los que cuentan con XP, se van a Inicio / Accesorios / Herramientas del Sistema / Tareas Programadas. Crean una nueva tarea, buscan el archivo ejecutar.bat que es el que debe ser ejecutado, configuran si la tarea quiere ser diaria, la hora, etc.
Y listo, en 03 simples pasos configuras la subida de tus archivos a través de FTP de forma automática y programada.
HOla, me parece muy útil Acabo de probarlo y funciona de maravilla. Ahora, lo que necesito es que el archivo se llame dinámicamente. Por ejemplo, debo subir datos diarios con distinto nombre de archivo dependiendo del dia, por ejemplo archivo17112010.xls, mañana el archivo18112010.xls. Puedo especificar nombre de archivo dinámico?
ResponderEliminarHola gracias por escribir. No he tenido tiempo para pruebas, pero tú puedes probar capturando datos de la fecha (día, mes, año) del sistema y poner estas "variables" como nombre de tus archivos. Así estos tomarían distintos nombres cada día dependiendo de la fecha.
ResponderEliminarRevisa el enlace como guía, aunque en él hablan de carpetas:
http://www.speedguide.net/articles/how-to-backup-using-batch-files-1547
Me cuentas.
Hola buenas. Muchas gracias por compartir esta información. Funciona OK!, pero tengo una duda...¿Habría alguna manera de mover el archivo en vez de copiarlo con put? y no me vale copiar y luego borrar porque en ese intervalo de tiempo puede aparecer un archivo que no se haya copiado. Gracias!
ResponderEliminarHola, estoy probando esta forma para realizar una carga de un archivo a un ftp. y no me funciona, que podra ser??
ResponderEliminarola gracias por el tutorial
ResponderEliminarpero el comando open de donde proviene
ya que me encuentro executandolo de windows 7
y no lo reconoce
open hostftpdetudominioejemplo:ftp.tudominio.com
ResponderEliminaresta linea es = ftp direccion IP
Esta muy bueno sobre todo de lo minimo de codigo usado.
ResponderEliminaralguien me puede ayudar con la conexion cifrado con FTP explicito TLS
Hola! una duda con esta linea:
ResponderEliminaropen hostftpdetudominioejemplo:ftp.tudominio.com
se puede conectar usando solo la ip?
Hola Javier Fernando, se puede utilizar poniendo directamente la IP sin el puerto tipo "open 192.168.1.1".
ResponderEliminarMi duda es la siguiente, he creado el script y funciona perfectamente en windows XP pero en un windows server 2003 standar R2 (x64) no funciona, tengo el firewall desactivado pero no hay manera, el script falla en la primera linea que es la conexión con el FTP. Sabrian orientarme sobre el porque de esto?
Gracias y un saludo
Hola, enhorabuena por tu artículo. Te queria hacer una consulta. Me es muy importante poder descargar archivos cada cinco minutos en mi web. He segudo todos los pasos que aconsejas, pero soy incapaz. ¿Podrías revisar el código? Te lo agradecería muchísimo:
ResponderEliminararchivo ftpcarga.bat:
open:ftp.bolsapp.es
m45gu78k4
gli8eng9
lcd C:\Users\Salvador\Documents\descargas ftp
cd bolsapp.es
put Carteravirtual3011.html
bye
archivo ejecutar.bat:
ftp -s:ftpcarga.bat
exit
Quisiera saber si para descargar de FTP de un servidor como seria el .bach
ResponderEliminartodos los archivos se envian en modo binario?
ResponderEliminarBuenas tardes.
ResponderEliminarHe probado el script y siempre se queda en el siguiente mensaje:
150 Opening data channel for file transfer.
Hola Carlos, pudiste resolver el problema de 150 Opening ASCII mode data connection.???
EliminarAntge todo pido disculpas por molestar. Estoy intentando utilizar el bat en windows 7 i no me funciona, al ejecutarlo dice que "no se reconoce como comando. Consigo entrar manualmente cada instrucción pero no por lotes. Podria ayudarme?
ResponderEliminarGracias por tu ayuda me sirvió de mucho
ResponderEliminarGracias por tu ayuda me sirvió de mucho
ResponderEliminaronde estou errando? alguem pode me ajudar.
ResponderEliminaropen nomedoservidor.com.br
usuariodoservir
senhadoservidor
lcd C:\Users\thiago.santos\Downloads\thiago\thiago
cd thiago
put thi1.txt
bye
onde estou errando? alguem pode me ajudar.
ResponderEliminaropen nomedoservidor.com.br
usuariodoservir
senhadoservidor
lcd C:\Users\thiago.santos\Downloads\thiago\thiago
cd thiago
put thi1.txt
bye
onde estou errando? alguem pode me ajudar.
ResponderEliminaropen nomedoservidor.com.br
usuariodoservir
senhadoservidor
lcd C:\Users\thiago.santos\Downloads\thiago\thiago
cd thiago
put thi1.txt
bye
open nomedoservidor.com.br
Eliminarusuariodoservir
senhadoservidor
ascii
lcd C:\Users\thiago.santos\Downloads\thiago\thiago
cd thiago
put thi1.txt
bye
Este comentario ha sido eliminado por el autor.
ResponderEliminarHola a todoos tenia una grandisima duda, en todos lo ejemplos ke veo solo respaldan un archivo con el comando put, pero qe pasa si yo kiero respaldar toda la carpeta con todos los ficheros internos de la misma carpeta, un ejemplo seria la carpeta mis domumentos y todos su archivos, quiero automatizar mi respaldo pero no me sale ya utilize el comando mput pero no me sube la carpeta completa, lo que ise fue ejecutar comando de windows en la misma sesion ke abro del hosting con el comando "!" que permite utilizar comandos de windows una vez iniciada la session remota hacia el ftp: bueno les dejo mi scrip , cualquier sugerencia es buena:
ResponderEliminarftp open ftp.nombre.com
usuario
contraseña
lcd c:\
cd \BACKUP
binary
!@echo off set dia=%date:~0,2% set mes=%date:~3,2% set year=%date:~6,4%
!robocopy %userprofile%\Documents ftp:\\ftp.nombre.com\BACKUP\%dia%-%mes%-%year%\ /MAXAGE:1 /S /E /MIR /V /R:3 /W:1 /COPY:DAT /LOG:%userprofile%\Desktop\%dia%-%mes%-%year%
exit
bye
BUENO... como pueden ver trato de ke mi respaldo tambien tome el nombre del dia en el que se iso el respaldo... pero nomas nadaa
Hola a todos, sé que hace tiempo de éste hilo, pero me encuentro un problema.
ResponderEliminarMe copia el fichero excel, csv o txt correctamente pero sin información dentro