Ir ao conteúdo
  • Cadastre-se

Outro Rotina .bat para excluir arquivos específicos de uma pasta


Posts recomendados

Bom dia,

 

Tenho uma pasta compartilhada na rede chamada 'temporário'; ela funciona para arquivos temporários e alguns arquivos de programas internos (esses não podem ser excluídos).

Estou pesquisando como faço pra criar uma rotina que exclui todos os arquivos dessa pasta nas segundas-feiras, exceto esses arquivos de programas internos.

A solução que eu queria trabalhar em cima é colocar um .bat no agendador de tarefas com um comando pra fazer a exclusão.

Eu achei num site um post que fala sobre isso:

 

No bloco de notas, digite o código forfiles -p “DIRETÓRIO_EX_C:\TEMP” -s -d –5 -c “cmd /c del /q @path”

Altere o “DIRETÓRIO_EX_C:\TEMP” para o diretório que deseja executar a rotina.

Altere o valor 5 para a quantidade de dias que deseja manter o conteúdo no diretório, ou seja, no código a cima, todo o conteúdo superior a 5 dias será removido.

Salve o arquivo como *.bat e adicione no Agendador de Tarefas para executar uma vez ao dia por exemplo.

 

Porém, esse comando excluirá todos os arquivos.

Eu queria saber como faço essa exclusão sem excluir também aqueles arquivos de programas internos.

Alguém pode me ajudar por favor?

 

Também aceito sugestões de outras soluções pra fazer essa rotina.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Olá amigo, 

Como são esses arquivos internos que não podem ser excluidos? Eles seguem algum padrão específico por exemplo tem uma extensão em comum Arquivo01.sad, Arquivo02.sad, Arquivo03.sad ou uma parte do nome é semre igual Arquivo*. Ou você tem uma lista com todos os arquivos que não devem ser excluidos?

 

ex:

 

monitoramento.txt

Arquivos.tmp

333.mp3

513351.avi

......

 

 

Link para o comentário
Compartilhar em outros sites

Olá amigo, ficou assim:


@echo off
SetLocal EnableDelayedExpansion
chcp 1252 > Nul

:: Especifique aqui o local da Pasta Temporária
set PT="%userprofile%\desktop\Teste"

for /f "Delims=" %%a in ("!PT!") do set "PT=%%~a"

for /d %%a in ("!PT!\*") do (
set "Pasta=%%~na"
if /i not "!Pasta:~0,4!"=="DLL_" RD /q /s "%%a"
)
del /q /a /f "!PT!"

 

>>Instruções<<

Link para o comentário
Compartilhar em outros sites

Em 13/03/2020 às 17:12, ricardo_br disse:

Olá amigo, ficou assim:

 


@echo off
SetLocal EnableDelayedExpansion
chcp 1252 > Nul

:: Especifique aqui o local da Pasta Temporária
set PT="%userprofile%\desktop\Teste"

for /f "Delims=" %%a in ("!PT!") do set "PT=%%~a"

for /d %%a in ("!PT!\*") do (
set "Pasta=%%~na"
if /i not "!Pasta:~0,4!"=="DLL_" RD /q /s "%%a"
)
del /q /a /f "!PT!"

 

 

>>Instruções<<

 

Muito obrigado, funcionou perfeitamente.

Pode me dizer como faço pra aprender a escrever um código assim por favor(O que devo pesquisar)? Qual é essa linguagem?

Link para o comentário
Compartilhar em outros sites

Olá se chama batch ou arquivo em lote. Basicamente são comandos do prompt de comando enfileirados. Na verdade esses tipo de script já está meio defasado se vai começar a aprender uma linguagem de script para windows eu recomendo powershell que é mais usado hoje em dia mais se quiser aprender você pode achar aulas no youtube.

 

Eu esto fazendo aulas de powershell que achei no youtube estou na aula 5 do professor ramos lol.

Link para o comentário
Compartilhar em outros sites

@ricardo_br

10 minutos atrás, ricardo_br disse:

Olá se chama batch ou arquivo em lote. Basicamente são comandos do prompt de comando enfileirados. Na verdade esses tipo de script já está meio defasado se vai começar a aprender uma linguagem de script para windows eu recomendo powershell que é mais usado hoje em dia mais se quiser aprender você pode achar aulas no youtube.

 

Eu esto fazendo aulas de powershell que achei no youtube estou na aula 5 do professor ramos lol.

 

obrigado, vou pesquisar tbem essas aulas

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois...

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...