Usuário com melhor resposta
Apagar pastas quando o disco estiver com 85%

Pergunta
-
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
- Sugerido como Resposta Fábio JrModerator terça-feira, 7 de outubro de 2014 18:39
- Marcado como Resposta Fábio JrModerator quarta-feira, 8 de outubro de 2014 19:37
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
- Sugerido como Resposta Fábio JrModerator terça-feira, 7 de outubro de 2014 18:39
- Marcado como Resposta Fábio JrModerator quarta-feira, 8 de outubro de 2014 19:37
-
-
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
- Editado Fábio JrModerator sexta-feira, 3 de outubro de 2014 19:50
-
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
-
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?
Fábio de Paula Junior
-