Logo Hardware.com.br
zetto33
zetto33 Membro Senior Registrado
255 Mensagens 3 Curtidas

[Dica - DOS] Script para deleção de arquivos por data

#1 Por zetto33 01/10/2010 - 17:06
Pessoal, montei esse script para deleção de arquivos, conforme a data, para um servidor CFTV, com base no Windows XP. Ele apenas automatiza o processo de deleção, mas pode ser usado para manipulação de arquivos, em geral, conforme a data.

A linha abaixo
for /f %%r in ('findstr [%ano%-0][%mes%-0][%dia%-0] %SYSTEMDRIVE%\excluir_cam_file.txt') do (echo %%r)&&(del %%r)
especialmente quanto a del %%r deve ser usado para o comando.

Bom, queria apenas que o mesmo constasse na net, pode ser útil para alguém no futuro...

@echo off
: E C L A R A R V A R I A V E I S

::Quantidade de dias antes de deletar
set diadel=7

:Numero de cameras, necessário atribuir número (se não entra em loop)
set qttcam=8

:Local onde está instalado o DVR
set dvrinstl=E:\DVR


::I N I C I O D O P R O G R A M A
:inicio
set /a cam=%cam%+1
if %cam% GTR %qttcam% set cam=0&exit
for %%i in ("%dvrinstl%\Cam%cam%\*.avi&quot do echo %%i >> %SYSTEMDRIVE%\excluir_cam_file.txt
echo Previne Erros >> %SYSTEMDRIVE%\excluir_cam_file.txt

:: if %check% EQU sim goto checked
set /a dia=%date:~4,2%-%diadel%
set mes=%date:~7,2%
set ano=%date:~-4%
if %mes% LSS 10 set mes=%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 /a mes=%mes%-1
if %mes% LSS 10 set mes=0%mes%
if %dia% LSS 1 set /a dia=31-%diadel%+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%-0][%mes%-0][%dia%-0] %SYSTEMDRIVE%\excluir_cam_file.txt') do (echo %%r)&&(del %%r)
del %SYSTEMDRIVE%\excluir_cam_file.txt
goto inicio


obs. Incrivel como a linguagem nativa de script MS é ruim...
comemorando.gif
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal