2014-11-07 04:12:42 +0000 2014-11-07 04:12:42 +0000
39
39

Como posso verificar o tamanho de uma pasta a partir da linha de comandos do Windows?

Quero utilizar a linha de comandos do Windows para calcular o tamanho de todos os ficheiros de uma pasta e subpasta. Normalmente fá-lo-ia clicando com o botão direito do rato na pasta e clicando em “Propriedades” mas quero poder fazê-lo na linha de comandos.

Que comando posso utilizar?

Respostas (10)

35
35
35
2014-11-07 06:34:25 +0000

Vai querer utilizar o dir /a/s para que inclua todos os ficheiros, incluindo o sistema e ficheiros ocultos. Isto dar-lhe-á o tamanho total que deseja.

14
14
14
2016-12-07 17:10:59 +0000

Pode utilizar o PowerShell!

$totalsize = [long]0
Get-ChildItem -File -Recurse -Force -ErrorAction SilentlyContinue | % {$totalsize += $_.Length}
$totalsize

Isto repete-se por todo o directório actual (ignorando directórios que não podem ser introduzidos) e resume as dimensões de cada ficheiro. Depois imprime o tamanho total em bytes.

Compacted one-liner:

$totalsize=[long]0;gci -File -r -fo -ea Silent|%{$totalsize+=$_.Length};$totalsize

Na minha máquina, isto parece ligeiramente mais rápido do que um dir /s /a, uma vez que não imprime a informação de cada objecto para o ecrã.

Para o executar a partir de um comando normal:

powershell -command "$totalsize=[long]0;gci -File -r -fo -ea Silent|%{$totalsize+=$_.Length};$totalsize"
7
7
7
2015-03-04 09:35:54 +0000

Não existe tal comando incorporado no DOS ou na linha de comando do Windows. No Linux, existe o comando du ( D isk U* sage).

A linha de ferramentas Sysinternals da Microsoft tem uma ferramenta que é aproximadamente equivalente a du no Linux. É também chamado du. ;)

2
2
2
2016-01-13 08:21:30 +0000

O tamanho da pasta pode ser calculado com o seguinte script de lote:

@echo off
setlocal enabledelayedexpansion

set size=0
for /f "tokens=*" %%x in ('dir /s /a /b %1') do set /a size+=%%~zx
echo.!size!

endlocal
2
2
2
2016-02-15 12:14:54 +0000

Você ainda pode usar o utilitário de linha de comando diruse.exe do Kit de Recursos do Windows 2000 disponível aqui: https://support.microsoft.com/en-us/kb/927229

Funciona no Windows 8.1 sem qualquer problema.

1
1
1
2014-11-07 06:24:08 +0000

dir /s Lista os tamanhos de todos os ficheiros e os ficheiros em todas as subpastas

1
1
1
2019-03-07 22:38:22 +0000

Percebi esta pergunta feita para a análise do tamanho do ficheiro usando CMD line. Mas se está aberto a usar o PowerQuery (Excel add-in, versions 2010+) então pode criar uma análise de tamanho de ficheiro bastante atraente.

O script abaixo pode ser colado numa Consulta em Branco; A única coisa que precisa de fazer é adicionar um parâmetro chamado “paramRootFolderSearch” e depois adicionar o seu valor, tal como “C:\Users\bl0040\Dropbox\”. Usei isto como um guia: MSSQLTips: Recuperar tamanhos de ficheiros do sistema de ficheiros usando o Power Query .

Esta consulta forneceu-me os dados para criar uma tabela pivot ([Folder Root]> [Folder Parent (1-2)], [Name]), e consegui identificar alguns ficheiros que pude apagar, o que me permitiu limpar muito espaço no meu directório.

Aqui está o script M para PowerQuery :

let
// Parmameters:
    valueRootFolderSearch = paramRootFolderSearch,
    lenRootFolderSearch = Text.Length(paramRootFolderSearch),
//

    Source = Folder.Files(paramRootFolderSearch),
    #"Removed Other Columns" = Table.RenameColumns(
Table.SelectColumns(Source,{"Name", "Folder Path", "Attributes"})
,{{"Folder Path", "Folder Path Full"}}),
    #"Expanded Attributes" = Table.ExpandRecordColumn(#"Removed Other Columns", "Attributes", {"Content Type", "Kind", "Size"}, {"Content Type", "Kind", "Size"}),
    #"fx_Size(KB)" = Table.AddColumn(#"Expanded Attributes", "Size(KB)", each [Size]/1024),
    #"fx_Size(MB)" = Table.AddColumn(#"fx_Size(KB)", "Size(MB)", each [Size]/1048576),
    #"fx_Size(GB)" = Table.AddColumn(#"fx_Size(MB)", "Size(GB)", each [Size]/1073741824),
    fx_FolderRoot = Table.AddColumn(#"fx_Size(GB)", "Folder Root", each valueRootFolderSearch),
    helper_LenFolderPathFull = Table.AddColumn(fx_FolderRoot, "LenFolderPathFull", each Text.Length([Folder Path Full])),
    fx_FolderDepth = Table.AddColumn(helper_LenFolderPathFull, "Folder Depth", each Text.End([Folder Path Full], [LenFolderPathFull]-lenRootFolderSearch+1)),
    #"helperList_ListFoldersDepth-Top2" = Table.AddColumn(fx_FolderDepth, "tmp_ListFoldersDepth", each List.Skip(
  List.FirstN(
    List.RemoveNulls(
      Text.Split([Folder Depth],"\")
    )
  ,3)
,1)),
    #"ListFoldersDepth-Top2" = Table.TransformColumns(#"helperList_ListFoldersDepth-Top2", 
{"tmp_ListFoldersDepth", each "\" & Text.Combine(List.Transform(_, Text.From), "\") & "\"
, type text}),
    #"Select Needed Columns" = Table.SelectColumns(#"ListFoldersDepth-Top2",{"Name", "Folder Root", "Folder Depth", "tmp_ListFoldersDepth", "Content Type", "Kind", "Size", "Size(KB)", "Size(MB)", "Size(GB)"}),
    #"rename_FoldersParent(1-2)" = Table.RenameColumns(#"Select Needed Columns",{{"tmp_ListFoldersDepth", "Folders Parent (1-2)"}})
in
    #"rename_FoldersParent(1-2)"

Arquivo Pasta Tamanhos_xlsx.png

Arquivo Pasta Tamanhos_xlsx2.png

1
1
1
2019-12-07 07:30:53 +0000

A Microsoft oferece uma ferramenta chamada Disk Usage que cria um relatório CSV.

Du (utilização do disco) reporta a utilização do espaço em disco para o directório que especificar. Por omissão, ele recorre aos directórios para mostrar o tamanho total de um directório e dos seus subdirectórios.

Aqui está como utilizá-lo:

Utilização: du [-c[t]] [-l | -n | -v] [-u] [-q] Descrição do parâmetro

Onde as opções são:

-c Print output as CSV. Use -ct for tab delimiting.
-l Specify subdirectory depth of information (default is all levels).
-n Do not recurse.
-v Show size (in KB) of intermediate directories.
-u Count each instance of a hardlinked file.
-q Quiet (no banner).

A saída do CSV é formatada como:

Path, CurrentFileCount, CurrentFileSize, FileCount, DirectoryCount, DirectorySize

Aqui está o actual link oficial .

0
0
0
2017-11-30 14:17:53 +0000

Basta abrir a shell de energia e fazer um du -sh <directory> não é necessário instalar terceiros ou sys-internals. Dentro do Power-shell pode correr alguns comandos simples do Linux como ls ou du comandos, alguns dos switches não funcionarão como o ls -alt irá errar pois o powershell não sabe o que é o -alt…

-2
-2
-2
2014-11-07 05:38:57 +0000

O comando “dir” fornece o tamanho do ficheiro, data e hora da última modificação do directório actual. Primeiro tente mover-se para o directório que deseja ver o tamanho do uso do comando cd, depois use o comando dir.

C:\>dir

Lista o tamanho do ficheiro, data e hora da última modificação de todos os ficheiros e directórios do directório em que se encontra actualmente, por ordem alfabética.