Título: Validacion de envio y recepcion via ftp con bat Publicado por: dj kuzmar en 22 Febrero 2012, 04:42 am Amigos acudo a uds ya que he realizado un bat, que hace envio y rescate en forma automatica via ftp, he querido validar si hay error, pero no siempre me funciona, cuando no se puede conectar envia primero el mensaje desconectado, como que valida antes que el ftp se ejecute, aca le envio el codigo:
@echo off setlocal enabledelayedexpansion rem Se saca fecha de proceso en este caso de tarde for /f "delims=" %%a in (C:\ctm_internacional\fecha_aaaammdd_tarde.txt) do ( set fecha=%%a ) rem ************************************************** rem preparamos variables y rutas set rutares=c:\ctm_internacional\Archivos_RES\ set rutain= set rutain2= set rutain3= set rutaout=c:\ctm_internacional\paso\CANJE_2\ set rutaout2=\\servidor\\Core_Entrada\%fecha%\FCC_%fecha% set rutaout3=\\servidor\\Core_Entrada\%fecha%\Sigir_%fecha% rem ************************************************** rem Lista canje2 fcc echo CA348009ENT> lista_canje2_f.txt rem ************************************************** rem Lista canje2 sigir rem ************************************************** rem ************************************************** rem *** PASO 1 rem *** Parametros para canje2 rescate ( trae interfaz ) for /f "delims=" %%p in (C:\ctm_internacional\canje2_paso1.txt) do ( set paso1=%%p ) if %paso1% == 0 ( echo interatm> C:\ctm_internacional\canje2_tra.txt echo manque04>> C:\ctm_internacional\canje2_tra.txt echo cd salida>> C:\ctm_internacional\canje2_tra.txt echo ascii >> C:\ctm_internacional\canje2_tra.txt echo lcd C:\ctm_internacional\paso\CANJE_2 >> C:\ctm_internacional\canje2_tra.txt echo mget CR009%fecha% >> C:\ctm_internacional\canje2_tra.txt echo bye >> C:\ctm_internacional\canje2_tra.txt rem ************************* rem rescatando interfaz ftp -i -v -s:C:\ctm_internacional\canje2_tra.txt 163.250.1.7 > C:\ctm_internacional\canje2_tra.log findstr /i "Desconectado" C:\ctm_internacional\canje2_tra.log if !errorlevel! == 0 ( echo 0 > C:\ctm_internacional\canje2_paso1.txt echo error en paso1 >> C:\ctm_internacional\canje2_tra.log type C:\ctm_internacional\canje2_tra.log goto error echo 0 > C:\ctm_internacional\canje2_paso1.txt GOTO END :error echo "ERROR en el envio o rescate estado DESCONECTADO O Conexion Cerrada Por el host" > C:\ctm_internacional\canje2_err.log echo *************************************************************************** type C:\ctm_internacional\canje2_err.log goto end :END endlocal exit Título: Re: Validacion de envio y recepcion via ftp con bat Publicado por: Eleкtro en 22 Febrero 2012, 05:52 am Hola.
1 - Usa las respectivas etiquetas de código cuando postees un bat o los moderadores te regañarán. 2 - Estás expandiendo sin motivo. Borra "Setlocal enabledelayedexpansion" y "END LOCAL" del script. 3 - No estás cerrando el IF con paréntesis, Falta 1. Código: If "cadena" ("cadena") Código
Aunque no se si se solucionará el problema porque no he probado el ftp. Salu2. |