Como a outra resposta diz, você não pode fazer isso com du.exe
sozinho. PowerShell para o resgate!
.\du.exe -c -l 3 C:\ | ConvertFrom-Csv -Header Size,Path | Where-Object { [int]$_.Size -gt 1048576 } | Sort-Object { [int]$_.Size } -descending
Explicação
Quebrando esse longo comando nos bits individuais que são canalizados para o próximo:
.\du.exe -c -l 3 C:\
Isso é basicamente o que você começou, exceto que o parâmetro -c
informa du
para formatar a saída como CSV.
ConvertFrom-Csv -Header Size,Path
Isso tira a saída CSV de du
e a converte em uma hashtable do PowerShell. Como du
não fornece um cabeçalho com nomes de colunas, isso deve ser feito manualmente.
Where-Object { [int]$_.Size -gt 1048576 }
Isso filtra os dados, retornando apenas as linhas em que o tamanho é maior que 1 GB ( du
retorna tamanhos em KB e 1 GB = 1048576 KB). Observe a parte [int]
, para informar ao PowerShell que está lidando com dados numéricos.
Sort-Object { [int]$_.Size } -descending
Isso classifica os dados por tamanho, em ordem decrescente (novamente especificando que os dados a serem classificados são numéricos). Isso é opcional, claro.