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

如何在Windows命令行中检查文件夹的大小?

我想用Windows命令行计算文件夹和子文件夹中所有文件的大小。我通常会通过右键点击文件夹上的 “属性 "来完成,但我希望能在命令行中完成。

答案 (10)

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

你要使用dir /a/s,这样它就包括了每个文件,包括系统和隐藏文件。这将给你一个你想要的总大小。

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

你可以使用PowerShell!

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

这将会递归到整个当前目录中(忽略不能输入的目录),并对每个文件的大小进行汇总。

压缩后的单行代码:

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

在我的机器上,这似乎比dir /s /a要快一点,因为它不会把每个对象的信息打印到屏幕上。

7
7
7
2015-03-04 09:35:54 +0000

在DOS或Windows命令行中没有这样的命令在Linux上,有du(D isk U* sage)命令。它也叫du.;)

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

文件夹的大小可以通过以下批处理脚本计算:

@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

你仍然可以使用Windows 2000资源包中的命令行工具diruse.exehttps://support.microsoft.com/en-us/kb/927229

在Windows 8.1上没有任何问题。

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

dir /s 将列出所有文件的大小以及所有子文件夹中的文件的大小。

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

我知道这个问题要求使用CMD line进行文件大小分析。但如果你愿意使用PowerQuery (Excel add-in, versions 2010+),那么你可以创建一些非常有说服力的文件大小分析。 下面的脚本可以粘贴到一个Blank Query中;你唯一需要做的就是添加一个名为 “paramRootFolderSearch "的参数,然后添加你的值,比如 "C:Users\Bl0040\Dropbox"。我用这个作为指导。 MSSQLTips: 使用Power Query从文件系统中检索文件大小 .

这个查询为我提供了数据,让我创建了一个透视表([Folder Root]> [Folder Parent (1-2)], [Name]),我能够识别出几个可以删除的文件,这让我的目录中清理了很多空间。

**这里是PowerQuery的M脚本*:

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)"

文件夹文件大小_xlsx.pngng

文件夹文件大小_xlsx2.png

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

微软提供了一个叫Disk Usage的工具,它可以创建一个CSV报告,

Du(磁盘使用情况)报告你指定的目录的磁盘空间使用情况。默认情况下,它将递归目录,以显示一个目录及其子目录的总大小。

以下是使用方法:

使用方法:du [-c[t]]

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

只要打开power shell,做一个du -sh <directory>就可以了,不需要安装第三方或sys-internals。在Power-shell中,你可以运行一些简单的Linux命令,比如ls或du命令,有些开关是不能工作的,比如ls -alt会出错,因为powershell不知道-alt是什么…..

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

“dir "命令提供了当前目录的文件大小、最后一次修改日期和时间。首先尝试使用cd命令移动到你想查看的目录,然后使用dir命令。

C:\>dir

&001

按字母顺序列出当前目录中所有文件和目录的文件大小、最后修改日期和时间。