Como posso encontrar o tamanho de uma pasta usando o Powershell?


21

Eu quero ser capaz de ver o tamanho de uma pasta (todos os conteúdos, incluindo subpastas e seu conteúdo). Eu não consigo encontrar um comando do PowerShell para fazer isso, mas eu não quero ter que abrir o Windows Explorer toda vez que eu quiser saber o tamanho. Existe uma maneira simples de conseguir isso de dentro do Powershell?

Respostas:


25

Tenho certeza que recebi isso de uma dica do dia do Powershell; Não me lembro com certeza, mas eu tenho usado há muito tempo e tem sido muito útil.

"{0:N2}" -f ((Get-ChildItem -path C:\InsertPathHere -recurse | Measure-Object -property length -sum ).sum /1MB) + " MB"

Edit: Para facilitar o uso (para que você não precise se lembrar e digitar tudo isso a cada vez), você pode adicioná-lo ao seu perfil como uma função, assim:

function Get-Size
{
 param([string]$pth)
 "{0:n2}" -f ((gci -path $pth -recurse | measure-object -property length -sum).sum /1mb) + " mb"
}

E então use como qualquer comando:

Get-size C:\users\administrator

1
Estou curioso, como adiciono isso a um perfil do PowerShell? Você quer dizer ponto de sourcing ? (nota lateral: o código pode ser formatado adicionando 4 espaços em branco no início)
nixda

2
Você pode . fonte seu perfil se você fez alterações e não quer reiniciar sua sessão PS, mas carrega automaticamente toda vez que você inicia o Powershell, então você geralmente não faria isso. Para criar seu perfil pela primeira vez, faça o seguinte: ni $ profile -type f -fo Então você pode abrir e editar seu perfil. Para descobrir onde ele está localizado, basta digitar $ profile no shell e o caminho será exibido. Então qualquer função que você adicionar, como a acima, está disponível como está embutida. Obrigado pela dica de formatação do código também
Darian Everett

1
+1 Whoa não sabia esse truque. Fascinante :)
nixda

1
o que {0:N2} Faz?
soandos

1
Formatação. O zero é o marcador do lugar, o N2 significa que é um número com duas casas decimais.
Darian Everett

8

Está no site da Microsoft Technet Aqui

entrada:

Get-ChildItem C:\Scripts -recurse | Measure-Object -property length -sum

saída:

Count    : 58
Average  :
Sum      : 1244611
Maximum  :
Minimum  :
Property : length

No entanto, isso pode estar muito longe, já que você precisa verificar recursivamente se a pasta tem subpastas. Além disso, o que é essa medida, bits?
Austin T French

Corrija os bits - também esqueci de incluir o interruptor recurse que não tenho editado - note também que eu estava postando principalmente para fornecer o artigo technet sobre como realizar essa pesquisa pelo google (tamanho da pasta powershell) para que OP pudesse ter uma compreensão completa do comandos usados ​​não apenas a resposta
50-3

Obrigado pelas atualizações, é um ajuste melhor agora, acho que para o formato de perguntas e respostas.
Austin T French
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.