Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - dj kuzmar

#1
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
#2
Scripting / Validar ingreso en bat
2 Febrero 2010, 21:42 PM
Hola amigos necesito ayuda, tengo un bat que pide ingresar hora, como puedo validar que lo que se ingrese sea en este formato hh:mm, tengo lo siguiente pero no me funciona, ya que siempre dice que es la hora es erronea.

set /p hor=Indique hora hh:mm  :
echo ##########################
set  hora=!hor:~0,2!
set  min=!hor:~3,2!
if defined hor (set "hor=!hor:.=!")
echo.!hor!|findstr.exe /r /i "\<[0-23]*\-[0-59]\>">nul 2>&1
if errorlevel 1 (
  echo hora erronea
  pause
  goto 1) else (
  echo la hora es !hor!
  echo los minutos son !min!)



 
#3
Hola amigos tengo el siguiente problema, tengo una lista de archivos con extensión sql, por ejemplo 1.sql, 2.sql, prueba.sql, almaceno todo esto con un dir/b > lista.txt, dentro de un for voy leyendo uno a unos los archivos

FOR /F %%i in (lista.txt) do (
echo !i!

lo que necesito es  solo el nombre del archivo sin la extension

por ejemplo que muestre asi

1
2
prueba

estuve haciendo pruebas con
echo %i:~0,1%

tambien echo %i:~-3% con esto logro que me muestre sql
como pudeo saber donde esta ".sql"   en este ejemplo

prueba.sql   esta en la posicion 7  entonces si hago echo %i:~0,6% me mostraria

prueba, es lo que necesito , encontrar "." y luego restarle uno a la posicion y que me muestre todo