7 de novembro de 2009

Como é precária o Windows batch

Isso poderia ser facilmente solucionado em poucas linhas, mas como vários parametros não existem, o negócio e mandar o script pra lá e pra cá como uma barata tonta....

@echo off

:inicio
echo Inicio do arquivo > c:\teste.txt
set /a cam=%cam%+1
if %cam% GTR 7 set cam=0&exit
for %%i in ("E:\DVR\Cam%cam%\*.avi") do echo %%i >> c:\teste.txt

rem if %check%==sim goto checked

set /a dia=%date:~4,2%-7
set mes=%date:~7,2%
set ano=%date:~-4%

if %mes% LSS 10 set mes=0%mes%
if %mes% LSS 1 goto mudaano
goto vainessa

:mudaano
set ano=%ano%-1
set mes=12

:vainessa
if %mes% EQU 2 goto mudafev
if %mes% EQU 4 goto mudames
if %mes% EQU 6 goto mudames
if %mes% EQU 9 goto mudames
if %mes% EQU 11 goto mudames
if %dia% LSS 1 set dia=31
if %dia% LSS 1 set /a mes=%mes%-1
goto continua

:mudafev
if %dia% LSS 1 set /a mes=%mes%-1
if %dia% GEQ 0 set operador=-
if %dia% LSS 1 set /a dia=29%operador%%dia%
goto continua

:mudames
if %dia% LSS 1 set /a mes=%mes%-1
if %dia% GEQ 0 set operador=-
if %dia% LSS 1 set /a dia=31%operador%%dia%
goto continua

:continua
if %dia% LSS 10 set dia=0%dia%
set check=sim

echo Deletando Cam%cam%\%ano%%mes%%dia%

:checked
for /f %%r in ('findstr "%ano%%mes%%dia%" c:\teste.txt') do del %%r
del c:\teste.txt
goto inicio