有谁知道一个免费的命令行工具或脚本可以计算目录(包括所有子目录)的大小?
它需要与 Windows 7 兼容,处理硬链接和连接点,并妥善处理对某些子文件夹的访问被拒绝(即在这种情况下继续)。
我什么也没找到并且正在考虑编写自己的工具。
更新:
我正在寻找可以分析存储在文件服务器上的(许多)漫游用户配置文件的工具。完美的工具可以很容易地找到最大的配置文件目录或包含最多文件的目录。
答案1
Sysinternals 的 Du 可能就是您要找的东西。它是 Microsoft 的免费产品,基本上是 *ix du 的初级版本。它通过报告文件不存在来处理连接和拒绝权限。
http://technet.microsoft.com/en-us/sysinternals/bb896651
Du v1.34 - report directory disk usage
Copyright (C) 2005-2009 Mark Russinovich
Sysinternals - www.sysinternals.com
usage: du [[-v] [-l <levels>] | [-n]] [-q] <directory>
-l Specify subdirectory depth of information (default is all levels)
-n Do not recurse.
-q Quiet (no banner).
-u Count only unique file occurences.
-v Show size (in KB) of intermediate directories.
c:\sysinternals>du c:\sysinternals
Du v1.34 - report directory disk usage
Copyright (C) 2005-2009 Mark Russinovich
Sysinternals - www.sysinternals.com
Files: 101
Directories: 0
Size: 32,798,999 bytes
Size on disk: 32,798,999 bytes
答案2
使用带有 /l 的 robocopy 可以做到这一点,忽略您无权访问的内容,并且 /B 甚至会尝试进入备份模式,这可能会让您获得原本无法访问的内容。
/L :: 仅列出 – 不复制、加盖时间戳或删除任何文件。
/XJ :: 排除连接点。(通常默认包含)。
您所说的“妥善处理对某些子文件夹的拒绝访问”有什么具体含义吗?
/编辑 - 既然您已经提出了一个全新的问题,我将向您提供其他答案:
为什么需要在 Windows 7 上运行它?在服务器上运行它。
您希望如何使用它?Crystal Reports 可以使用文件系统作为报告源,您可以在一个报告中按大小分组,在另一个报告中按文件数量分组。它需要有历史记录吗?您可以使用类似 RRDTool 的工具对父目录或保存主目录的目录中的每个文件夹运行 diruse。然后你就会有漂亮的网页和漂亮的图表。
对于交互式使用,我喜欢 WinDirStat,但有些人喜欢 TreeSize Pro。
这与您需要使其可重新分发有什么关系?您是否试图为其他 IT 管理员构建和销售管理产品?如果它仅供您和您的员工使用,那么这不是“重新分发”。
答案3
全默认安装赛格威(Windows 的 POSIX 仿真层)包括du
来自GNU 核心实用程序集合,并且它完全支持硬链接和连接点。我相信 Cygwin(以及du
)将连接点视为软链接。
答案4
您是否研究过 Microsoft 工具diruse
?这是一个命令行工具,可以完成您所需的任务。它是 Windows 2000 和 2003 服务器工具的一部分,但仍可下载:Microsoft Diruse TechNet 文章。
我唯一不确定的是它如何处理硬链接和连接点。也许值得尝试一下。
来自 TechNet 文章的示例:
diruse /* /m \\shared\data
Size (mb) Files Directory
248.60 3739 SUB-TOTAL: \\SHARED\DATA\Admin
31.27 36 SUB-TOTAL: \\SHARED\DATA\Common
1448.14 23654 SUB-TOTAL: \\SHARED\DATA\ConsultServ
107.64 750 SUB-TOTAL: \\SHARED\DATA\CorpServ
1053.28 6145 SUB-TOTAL: \\SHARED\DATA\Design
147.11 258 SUB-TOTAL: \\SHARED\DATA\Engrg
70.56 745 SUB-TOTAL: \\SHARED\DATA\Finance
18.78 1188 SUB-TOTAL: \\SHARED\DATA\Hardware
12.18 50 SUB-TOTAL: \\SHARED\DATA\HR
2.22 23 SUB-TOTAL: \\SHARED\DATA\InfoTech
5.44 46 SUB-TOTAL: \\SHARED\DATA\Legal
18.53 56 SUB-TOTAL: \\SHARED\DATA\ProdDev
470.43 2016 SUB-TOTAL: \\SHARED\DATA\ProdMktg
107.92 1445 SUB-TOTAL: \\SHARED\DATA\Research
31.10 43 SUB-TOTAL: \\SHARED\DATA\Sales
9.98 14 SUB-TOTAL: \\SHARED\DATA\TechSupp
114.82 1269 SUB-TOTAL: \\SHARED\DATA\Training
3898.00 41477 TOTAL