none
Apagar pastas quando o disco estiver com 85% RRS feed

  • Pergunta

  • Pessoal,

    Alguém pode me ajudar com um script para apagar pastas quando o disco estiver com 85% dele usado?

    Rafael


    Rafael C. Silva

    sexta-feira, 3 de outubro de 2014 15:14

Respostas

  • Rafael,

    Veja este código em PowerShell

    gwmi -query "Select * from Win32_LogicalDisk where DeviceID='C:'" |
     ? {if ( ($_.FreeSpace / $_.Size) -lt 0.15){"coloque aqui o código para apagar pastas"} }

    É a junção de dois códigos, no primeiro é feita uma query pra pegar os dados da unidade C:, em seguida verifica se o espaço livre é inferior a 15%(0.15 o que significa mais de 85% de uso de disco), agora só falta você completar dentro da ultima chave {} com o código para apagar as pastas que você quiser.


    Fábio de Paula Junior

    sexta-feira, 3 de outubro de 2014 18:55
    Moderador

Todas as Respostas

  • Rafael,

    Veja este código em PowerShell

    gwmi -query "Select * from Win32_LogicalDisk where DeviceID='C:'" |
     ? {if ( ($_.FreeSpace / $_.Size) -lt 0.15){"coloque aqui o código para apagar pastas"} }

    É a junção de dois códigos, no primeiro é feita uma query pra pegar os dados da unidade C:, em seguida verifica se o espaço livre é inferior a 15%(0.15 o que significa mais de 85% de uso de disco), agora só falta você completar dentro da ultima chave {} com o código para apagar as pastas que você quiser.


    Fábio de Paula Junior

    sexta-feira, 3 de outubro de 2014 18:55
    Moderador
  • Certo, devo utilizar este comando: 

    Remove-Item C:\temp\DeleteMe -Recurse

    Consigo instalar o Power Shell no Windows XP Pro?

    Rafael,


    Rafael C. Silva

    sexta-feira, 3 de outubro de 2014 19:26
  • Sim, consegue.

    Estrutura de gerenciamento do Windows (Windows PowerShell 2.0, WinRM 2.0 e o BITS 4.0)

    http://support2.microsoft.com/kb/968929/pt-br


    Fábio de Paula Junior


    sexta-feira, 3 de outubro de 2014 19:44
    Moderador
  • Fabio, outra dúvida.

    Ele vai apagar tudo na pasta quando chegar aos 85%?

    Queria que ele apagasse uma quantidade X quando chegasse neste % e não apagasse tudo.

    Por exemplo, quando chegar a 85% apagar 30 arquivos com as ultimas datas modificadas.


    Rafael C. Silva

    sexta-feira, 3 de outubro de 2014 20:18
  • Rafael,

    Apenas pra deixar claro, esse script verifica como está o uso em cada execução, você não vai executar o script apenas uma vez e ele vai ficar de "braços cruzados" aguardando o nível chegar em 85% e então executar o comando para apagar. Você vai precisar executar o script várias vezes.

    Aconselho que você agende o script para ser executado com certo periodo de tempo, e este periodo depende da velocidade que você espera que este disco vai encher, se ele enche rápido talvez você vai ter que verificar a cada 5 ou 10 minutos, mas se demora então pode ser somente uma vez por dia.

    Se você quer que ele apague apenas um número x de arquivos então você não pode simplesmente usar aquele comando remove-item como você configurou. Dá uma olhada neste link que ele explica como pegar os mais novos, com um pouco de esforço dá pra transformar nos mais velho, tendo os arquivos selecionados basta usar pipe + remove-item.

    How to find newest file in directory using PowerShell script?

    http://stackoverflow.com/questions/11210649/how-to-find-newest-file-in-directory-using-powershell-script


    Fábio de Paula Junior

    sexta-feira, 3 de outubro de 2014 20:30
    Moderador
  • Bacana Fabio vou olhar.

    obrigado.


    Rafael C. Silva

    sexta-feira, 3 de outubro de 2014 20:41