20 comentarios el “Automatizar FTP – Batch Scripting

    • Hola rosss,

      En primer lugar disculpa el retraso en contestar.
      Por un tema de “legibilidad” he agregado la respuesta a tu pregunta en el mismo post.

      Espero que te sea de ayuda.
      Salu2

  1. Hola que tal, sabes requiero hacer algo similar pero requiero subir a un FTP en vez de bajar los archivos, salvo que el archivo que requiero subir cambia de nombre diariamente, con una variable extraida de la fecha como ejemplo

    archivo_año mes dia.rar

    crees que puedas orientarme en como hacer las adecuaciones

    • Hola juriostegui,

      Tu caso es un poco diferente, este Batch se basa en descargar una carpeta, y tu haces referencia a subir un archivo.

      Por lo tanto los pasos a seguir son:

      obtener la fecha con un FOR:

      rem esto puede variar si el sistema operativo está en otro idioma: probado en Win 7 Pro
      for /F “tokens=1,2,3 delims=/” %%A in (‘echo %date%’) do (
      echo dia: %%A
      echo mes: %%B
      echo year: %%C
      rem en lugar de hacer un echo, debes asignarselo a las variables.
      )

      una vez tengas las variables de la fecha, generas el nombre del fichero:

      set filename=archivo_%year% %mes% %dia%.rar

      y luego haces un PUT en FTP siguiendo el sistema que muestro en esta entrada.

      Si tienes alguna duda comentamelo.

      Saludos.

    • Hola Angel,

      Disculpa el retraso, estamos teniendo muchos lios de trabajo y he tenido mucho tiempo.
      Para indicar un puerto diferente basciamente hay que modificar la linia de la conexión inicial:

      de

      echo open %server%>ftptemp.dll
      a:
      echo open %server% %puerto_diferente%>ftptemp.dll

      Un saludo

  2. Hola tengo el un problema que al enviar un archivo via FTP me indica que no reconoce el host.

    mi código es el siguiente:

    @echo off
    echo set WshShell = WScript.CreateObject(“WScript.Shell”) > %tmp%\tmp.vbs

    title COPIA DE ARCHIVOS V.1.1
    echo.
    echo BIENVENIDO %USERNAME% Archivos Empresas Cobranzas
    echo.
    date /t
    echo.
    echo.
    echo INGRESAR FECHA HOY. . .
    echo.
    set /p bb= FECHA (AAAAMMDD):
    set fecha=%bb%

    echo 6.2 Transfiriendo Archivos AltSolution
    echo.
    :: el archivo a enviar se encuentra en esta ruta, pero mi bat principal “este” esta en otra ruta
    L:
    cd L:\Explotacion\Cargas\Cobranzaexterna\AltSolutions\%bb%\

    set user=super1
    set password=alt0,
    set servidor=192.168.27.30
    set dir=ftpponer

    echo open %servidor% > pasoagg.dll
    echo %user% >> pasoagg.dll
    echo %password% >> pasoagg.dll
    echo cd %dir% >> pasoagg.dll
    echo mput BCHALTSOLUTIONS_%bb%.zip >> pasoagg.dll
    echo mput DISCADOR_ALT_%bb%.zip >> pasoagg.dll
    echo mput Interfaz_Contingencia_ALTSOLUTIONS.zip >> pasoagg.dll
    echo prompt >> pasoagg.dll
    echo quit >> pasoagg.dll

    echo Procesando…..

    echo.
    L:
    cd L:\Explotacion\Cargas\Cobranzaexterna\AltSolutions\%bb%\
    :: Me cambio nuevamente al directorio donde genere el DLL y el FTP se supone que lo toma desde aquí.

    ftp pasoagg.dll
    echo.
    echo.
    echo ENVIO OK
    pause

    Si me pudiera ayudar seria de gran ayuda

    • Hola Armando,

      Disculpa el retraso en contestar.
      He probado tu codigo modificandolo para que me funcione y a priori no hay ningun problema

      Me confirmas que tienes acceso a esa máquina?
      Puedes hacer un FTP desde un cliente diferente sin automatización?

      Un saludo

  3. Hola que tal.

    Muy bueno el codigo pero cuando lo ejecuto me salta el error de que ya existe una carpeta temporal creada.

    Como resuelvo eso?

    Alguien me puede ayudar?

    De antemano muchas gracias

  4. Perdon por el anterior comentario.

    No era esa mi inquietud.

    La cuestión es que me dice que no se puede tener acceso al puerto ICMP

    Sin embargo yo ya habilite en el firewall el tráfico ICMP y se sigue presentando el error.

    • Hola Michael,

      Podrías de alguna forma enviarme un enlace con un screenshot de ese mismo error?
      Además sería ideal que me dijeras cuál de los dos códigos estas utilizando, y que formato tiene la carpeta que estás intentando descargar.

      Un saludo.

  5. Estoy probando este código y no me funciona, resulta que en Filezilla sí pero poniendo la opción de FTP over TLS, ¿qué tengo que modificar en el código que muestras para que me deje descargar? Gracias de antemano.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s