你要使用dir /a/s
,这样它就包括了每个文件,包括系统和隐藏文件。这将给你一个你想要的总大小。
你可以使用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
要快一点,因为它不会把每个对象的信息打印到屏幕上。
你仍然可以使用Windows 2000资源包中的命令行工具diruse.exe
:
https://support.microsoft.com/en-us/kb/927229
在Windows 8.1上没有任何问题。
我知道这个问题要求使用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
微软提供了一个叫Disk Usage
的工具,它可以创建一个CSV报告,
Du(磁盘使用情况)报告你指定的目录的磁盘空间使用情况。默认情况下,它将递归目录,以显示一个目录及其子目录的总大小。
以下是使用方法:
使用方法:du [-c[t]]