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
@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