BATCH – Script dependiente de la ejecución de otro.

Este código Script lo ejecuto mientras este en ejecución otro SCRIPT BATCH que su ventana se llama «proceso», si no lo detecta en ejecución finaliza (exit). En este script se utilizan 3 utilitarios (sendmail.exe – plink.exe y sleep.exe), los cuales se deben bajar para poder utilizarlos. En si lo que hace el Script es conectarse a un servidor UNIX y listar el contenido de un directorio en particular (archivos .lst), luego genera un archivo solo con el tamaño y nombre del archivo. Después se filtran los que pesan 0 y 64 Bytes, además de los que contienen la cadena «cambia». Al detectar archivos que pasan los filtros, se envía un mail informando la situación.-

@echo off
set num=%1
title %num%
mode con cols=1
mode con lines=1
set archivo=d:\menudos\archivos.txt
set depurado=d:\menudos\depurado.txt
set paso=d:\menudos\paso.txt
set ruta1=/usr01/home/prec/EX_2009/sql/*.lst
set ruta2=/proc/home/prec/EX_2013/sql/*.lst
if %num%==1 set ruta=%ruta1% && set ano=2009
if %num%==2 set ruta=%ruta2% && set ano=2010

:log
del /F /Q %depurado% > nul

rem Si no detecta el Script BATCH DOS llamado "proceso" finaliza ejecucion
tasklist /FI "WINDOWTITLE eq proceso" | findstr "cmd" || exit


plink.exe -ssh  -pw monitoreo monitor@peumo ls -ltr %ruta%  > %archivo%

type %archivo% | findstr /v "cambia" > %paso%

for /f "tokens=1-9" %%a in ('type %paso%') do (
if %%e==64 (echo filtrado) else (if %%e==0 (echo filtrado) 
                           else (echo %%e %%i >> %depurado%)
           ) 
)

type %depurado% | findstr ".lst" && goto archivos

sleep 30
goto log

:archivos
SET dia=%DATE:~,2%
SET mes=%DATE:~3,2%
SET ano=%DATE:~6,4%
SET fecha=%dia%-%mes%-%ano%
SET hor=%TIME:~,2%
SET min=%TIME:~3,2%
SET seg=%TIME:~6,2%
SET hora=%hor%:%min%
sendemail.exe -f desde@cor.cl -t para@cor.cl -u "Proceso %ano% con archivos 
encontrados %fecha% a las %hora% Hrs." -m "En el archivo adjunto puede ver los
 archivos detectados, debe reportarlo" -a %depurado% -s cor.cid.cl
sleep 30
goto log
Esta entrada fue publicada en BATCH - DOS. Guarda el enlace permanente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *