Comunidad de diseño web y desarrollo en internet online

Archivo de Procesamiento por Lotes o Archivo .BAT

Citar            
MensajeEscrito el 27 May 2009 05:13 pm
Amigos..!

Necesito hacer un archvio de procesamiento por lotes, mejor conocido como archvio .BAT.

Necesito que el archvio especificamente borre una cantidad de archvios cuya extensión es .CHK de diferentes equipos, que tienen nombres distintos, pero estructura del disco exactamente igual.
Ejemplo:
Los archivos .CHK estan en el siguiente directorio

Equipo 1
c:\directorio1\aplicacion\*.chk

Equipo 2
c:\directorio1\aplicacion\*.chk

Equipo 3, Equipo 4, Equipo 5, etc. etc. etc.

Luego de borrar los archivos .CHK, necesito renombrar los archivos .OLD a .EXE
c:\directorio1\aplicacion\rename *.old *.exe

El problema que tengo es como decirle al archivo .bat que los archivos están en otro equipo, aparte, que necesariamente no hay tantos equipos, sino máximo 8 equipos, pero posiblemente no esten todos encendidos y en caso tal, si está apagado, el archivo aborta y no se ejecuta, lo que quiero es que se ejecute asi el equipo destino esté apagado y no lo tome como un error.

Gracias por la ayuda que me puedan brindar.

Por Dryiceman

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Jun 2009 06:31 am
No recuerdo mucho de los BAT, pero la idea es esta: Vamos y borramos el primero si hay algún error que se siga con la siguiente etiqueta y asi sucesivamente.

Código :

@ECHO OFF
:MAQ1
del c:\directorio1\aplicacion\*.chk
IF errorlevel 1 GOTO MAQ2

:MAQ2
del c:\directorio1\aplicacion\*.chk
IF errorlevel 1 GOTO MAQ3

:END
ECHO Quitting
PAUSE

Por Jorgelig

Claber

3035 de clabLevel

12 tutoriales

 

Monterrey, Nuevo Leon, MX

firefox
Citar            
MensajeEscrito el 01 Jun 2009 12:21 pm
Yo por ahora lo tengo así..!


@echo off

if exist "\\Term1\bootdrv\alohaqs\CHECKFILE\*.chk" goto :borraterm1
if exist "\\Term2\bootdrv\alohaqs\CHECKFILE\*.chk" goto :borraterm2
if exist "\\Term3\bootdrv\alohaqs\CHECKFILE\*.chk" goto :borraterm3
if exist "\\Term4\bootdrv\alohaqs\CHECKFILE\*.chk" goto :borraterm4
if exist "\\Term6\bootdrv\alohaqs\CHECKFILE\*.chk" goto :borraterm5
if exist "\\Term6\bootdrv\alohaqs\CHECKFILE\*.chk" goto :borraterm6
if exist "\\Term7\bootdrv\alohaqs\CHECKFILE\*.chk" goto :borraterm7
if exist "\\Term8\bootdrv\alohaqs\CHECKFILE\*.chk" goto :borraterm8


:borraterm1
echo Borrando Archivos *.CHK del /q Terminal 1
@echo off
del /q \\Term1\bootdrv\alohaqs\CHECKFILE\*.chk
ren \\Term1\bootdrv\alohaqs\bin\Prjc*.old \\Term1\bootdrv\alohaqs\bin\Prjc*.exe
@echo on
echo Los archivos CHK del /q Terminal 1 Fueron Eliminados
echo Los archivos Prjc*.old del /q Terminal 1 Fueron Renombrados a *.exe

:borraterm2
echo Borrando Archivos *.CHK del /q Terminal 2
@echo off
del /q \\Term2\bootdrv\alohaqs\CHECKFILE\*.chk
ren \\Term2\bootdrv\alohaqs\bin\Prjc*.old \\Term2\bootdrv\alohaqs\bin\Prjc*.exe
@echo on
echo Los archivos CHK del /q Terminal 2 Fueron Eliminados
echo Los archivos Prjc*.old del /q Terminal 2 Fueron Renombrados a *.exe

:borraterm3
echo Borrando Archivos *.CHK del /q Terminal 3
@echo off
del /q \\Term3\bootdrv\alohaqs\CHECKFILE\*.chk
ren \\Term3\bootdrv\alohaqs\bin\Prjc*.old \\Term3\bootdrv\alohaqs\bin\Prjc*.exe
@echo on
echo Los archivos CHK del /q Terminal 3 Fueron Eliminados
echo Los archivos Prjc*.old del /q Terminal 3 Fueron Renombrados a *.exe

:borraterm4
echo Borrando Archivos *.CHK del /q Terminal 4
@echo off
del /q \\Term4\bootdrv\alohaqs\CHECKFILE\*.chk
ren \\Term4\bootdrv\alohaqs\bin\Prjc*.old \\Term4\bootdrv\alohaqs\bin\Prjc*.exe
@echo on
echo Los archivos CHK del /q Terminal 4 Fueron Eliminados
echo Los archivos Prjc*.old del /q Terminal 4 Fueron Renombrados a *.exe

:borraterm5
echo Borrando Archivos *.CHK del /q Terminal 5
@echo off
del /q \\Term5\bootdrv\alohaqs\CHECKFILE\*.chk
ren \\Term5\bootdrv\alohaqs\bin\Prjc*.old \\Term5\bootdrv\alohaqs\bin\Prjc*.exe
@echo on
echo Los archivos CHK del /q Terminal 5 Fueron Eliminados
echo Los archivos Prjc*.old del /q Terminal 5 Fueron Renombrados a *.exe

:borraterm6
echo Borrando Archivos *.CHK del /q Terminal 6
@echo off
del /q \\Term6\bootdrv\alohaqs\CHECKFILE\*.chk
ren \\Term6\bootdrv\alohaqs\bin\Prjc*.old \\Term6\bootdrv\alohaqs\bin\Prjc*.exe
@echo on
echo Los archivos CHK del /q Terminal 6 Fueron Eliminados
echo Los archivos Prjc*.old del /q Terminal 6 Fueron Renombrados a *.exe

:borraterm7
echo Borrando Archivos *.CHK del /q Terminal 7
@echo off
del /q \\Term7\bootdrv\alohaqs\CHECKFILE\*.chk
ren \\Term7\bootdrv\alohaqs\bin\Prjc*.old \\Term7\bootdrv\alohaqs\bin\Prjc*.exe
@echo on
echo Los archivos CHK del /q Terminal 7 Fueron Eliminados
echo Los archivos Prjc*.old del /q Terminal 7 Fueron Renombrados a *.exe

:borraterm8
echo Borrando Archivos *.CHK del /q Terminal 8
@echo off
del /q \\Term8\bootdrv\alohaqs\CHECKFILE\*.chk
ren \\Term8\bootdrv\alohaqs\bin\Prjc*.old \\Term8\bootdrv\alohaqs\bin\Prjc*.exe
@echo on
echo Los archivos CHK del /q Terminal 8 Fueron Eliminados
echo Los archivos Prjc*.old del /q Terminal 8 Fueron Renombrados a *.exe



La unica parte que no entiendo es la del iferrorlevel 1

Como funciona el if errorlevel?

Gracias por la ayuda

saludos

Por Dryiceman

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Jun 2009 02:21 pm
se pondría después de tu comando del, errorlevel usado con if seria como un try catch primitivo jeje.

IF [NOT] ERRORLEVEL numero comando
ERRORLEVEL numero
La condición es verdadera solo si el comando anterior devuelve un código de salida igual o mayor que el especificado

Fuente

Por Jorgelig

Claber

3035 de clabLevel

12 tutoriales

 

Monterrey, Nuevo Leon, MX

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.