none
Script para Apagar Pasta e Seus Conteudos RRS feed

  • Pergunta

  • Senhores (a) 

    Boa tarte, Preciso de uma ajuda para criar um script que delete pasta e seus conteúdos, tenho um servidor Windows Server 2008 R2 Nele é gerado um backup de um banco de dados sql que automaticamente cria varias pasta com a nomenclatura (dia-mês-ano_hora-minuto) porem preciso deletar as pasta e seus conteúdos mas antigos e deixar somente as 10 ultima pasta criadas.

    nomenclatura das pasta( 15-07-2015_07-30 )

    Agradeço desde já

    Thiago Silva

    quarta-feira, 15 de julho de 2015 19:29

Respostas

  • Thiagocds, bom dia!

    Segue um código, copie e cole o mesmo em um bloco de nota, salve como NOME.bat e depois adicione no agendador de tarefas para executar 1x ao dia.

    Você precisa alterar o "CAMINHO_DO_DIRETÓRIO" e colocar onde os backups estão sendo salvos, tem que ficar entre "", depois você altera o número 10 caso queira uma quantidade diferente de dias, este número refere-se ao que ele irá preservar no diretório, ou seja, ele irá ler todo o diretório e remover TUDO que tiver uma data superior a 10 dias.

    forfiles -p "CAMINHO_DO_DIRETÓRIO" -s -d -10 -c "cmd /c del /q @path"

    IMPORTANTE!

    Repare que estou informando que ele irá remover tudo com data superior a 10 dias, sendo assim, se neste diretório existem arquivos/pastas, é melhor você criar uma pasta só para os Backups e no mesmo script você pode mover os backups para esta pasta nova e na sequência excluir os backups, caso você não saiba como fazer, da um toque que lhe ajudo.

    Abaço



    • Sugerido como Resposta Rodrigo.Surdi quinta-feira, 16 de julho de 2015 15:09
    • Editado Rodrigo.Surdi quinta-feira, 16 de julho de 2015 15:11
    • Marcado como Resposta Fábio JrModerator terça-feira, 21 de julho de 2015 17:13
    quinta-feira, 16 de julho de 2015 15:08

Todas as Respostas

  • Thiagocds, bom dia!

    Segue um código, copie e cole o mesmo em um bloco de nota, salve como NOME.bat e depois adicione no agendador de tarefas para executar 1x ao dia.

    Você precisa alterar o "CAMINHO_DO_DIRETÓRIO" e colocar onde os backups estão sendo salvos, tem que ficar entre "", depois você altera o número 10 caso queira uma quantidade diferente de dias, este número refere-se ao que ele irá preservar no diretório, ou seja, ele irá ler todo o diretório e remover TUDO que tiver uma data superior a 10 dias.

    forfiles -p "CAMINHO_DO_DIRETÓRIO" -s -d -10 -c "cmd /c del /q @path"

    IMPORTANTE!

    Repare que estou informando que ele irá remover tudo com data superior a 10 dias, sendo assim, se neste diretório existem arquivos/pastas, é melhor você criar uma pasta só para os Backups e no mesmo script você pode mover os backups para esta pasta nova e na sequência excluir os backups, caso você não saiba como fazer, da um toque que lhe ajudo.

    Abaço



    • Sugerido como Resposta Rodrigo.Surdi quinta-feira, 16 de julho de 2015 15:09
    • Editado Rodrigo.Surdi quinta-feira, 16 de julho de 2015 15:11
    • Marcado como Resposta Fábio JrModerator terça-feira, 21 de julho de 2015 17:13
    quinta-feira, 16 de julho de 2015 15:08
  • Obrigado Rodrigo, Irei fazer os devidos teste..
    quinta-feira, 16 de julho de 2015 18:47
  • Ótimo!

    Se ajudar, avalie a resposta ^.^

    Abraço

    sexta-feira, 17 de julho de 2015 12:49
  • Deu certo meu amigo, porem se tiver alguma alteração na data do servidor possa dar problema.

    teria alguma forma de fazer a mesma coisa sem usar a data do sistema,??  usando o nome das pasta

    que seria " 20-07-2015_07-30 " essas pasta são geradas diariamente.

    quinta-feira, 23 de julho de 2015 13:22
  • Thiagocds, bom dia!

    Bem... normalmente o servidor não deve ter sua data alterada, sinceramente, só penso em coisas ruins para alterar a data do servidor rsrs.

    Outro detalhe é, este nome "20-07-2015_07-30 é criado de forma automática correto? Para fazer isso, também não é utilizada a data do servidor?

    terça-feira, 28 de julho de 2015 13:56