Ir ao conteúdo
  • Cadastre-se

.Bat para Excluir Pastas por Tempo


Posts recomendados

Olá,

 

alguém sabe se é possível usar o CMD para excluir pastas por tempo ignorando qualquer outro arquivo dentro da pasta raiz?

 

Exemplo: C:\Teste\pasta01 (deletar por ter mais de 30 dias desde a ultima modificação)

                 C:\Teste\pasta02 (ignorar por ter menos de 30 dias)

                 C:\Teste\arquivo.rar (ignorar)

 

Já utilizo o "forfiles -p (C:\ERPSystem\DB" -s -d -30 -c "cmd /c del /f /q @path" ), ele deleta os arquivos com + de 30 dias.

Link para o comentário
Compartilhar em outros sites

O comando que deleta pastas (diretórios) é o RD, tente adaptar ao comando que deleta arquivos que é o DEL

Exemplo:

RD /S /Q %SystemDrive%\windows.old

 

Editado: A pasta tem que conter algo, senão vai dar erro por estar vazia.

adicionado 45 minutos depois

O comando DELTREE foi removido a partir do Windows 7 mas tem um executável que o substitui muito bem, é o del3.exe (175KB). Precisa do Net Framework 3.5 e funciona em x86 e x64. Coloque ele nas Variáveis de Ambiente (Path) para ficar disponível no sistema todo.

 

del3 C:\RAYMOND = não fornecer argumentos excluirá os arquivos no diretório RAYMOND, mas deixará os subdiretórios e os arquivos dentro deles.

del3 C:\RAYMOND /S = inclua os subdiretórios para que tudo dentro do diretório RAYMOND seja apagado.

del3 C:\RAYMOND /B = exclua o diretório RAYMOND e tudo nele.

 

Há também um modo de simulação (/ I) que você pode usar para permitir que o del3 lhe diga o que será excluído quando você usar o comando sem simulação. As ações de exclusão reais são executadas sem confirmação.]

 

del3 /? = Traz apenas a descrição dos comandos, não tem documentação 

 

Para executar no PowerShell use o .\ no início:
.\del3 /?

 

https://www.raymond.cc/blog/deltree-command-replacement-in-windows-2000-or-windows-xp/

 

Link para o comentário
Compartilhar em outros sites

23 horas atrás, f_neto disse:

@ciro-mota O problema é que o RD não deleta pastas vazias, por isso indiquei o del3

Para mim não tem problema, pois as pastas sempre terão arquivos.

 

Em 21/11/2018 às 16:27, ciro-mota disse:

Tente isto:

 

FORFILES /S /D -10 /C "cmd /c IF @isdir == TRUE rd C:\Teste\pasta01 /S /Q @path"

Vou testar.

Link para o comentário
Compartilhar em outros sites

23 horas atrás, f_neto disse:

@ciro-mota O problema é que o RD não deleta pastas vazias, por isso indiquei o del3

 

A especificação da Microsoft aponta que RD /S elimina a pasta e subdiretórios incluindo arquivos, o /Q de forma silenciosa. A linha de comando que ele usou acima é com o comando DEL.

Link para o comentário
Compartilhar em outros sites

Errata: Somente usando RD voê deleta pastas vazias, com o parâmetro /s você deleta pastas com arquivos.

 

"De volta aos dias do Windows 98, o comando RD era usado para remover diretórios vazios no MS-DOS. Para excluir diretórios com arquivos ou diretórios dentro deles, o usuário tinha que usar o comando deltree. Parece que o Windows 2000, XP, Vista e 7 têm um comando RD atualizado com a opção / S para basicamente mesclar deltree e RD em um comando."

 

https://www.raymond.cc/blog/deltree-command-replacement-in-windows-2000-or-windows-xp/

Link para o comentário
Compartilhar em outros sites

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...