希望能够找到目录树中超过特定大小(例如 10MB)的文件的完整路径。
目前知道微软的迪鲁塞(部分Windows XP Service Pack 2 支持工具)做我想要的除了它仅列出目录大小而不是文件。
答案1
forfiles /P D:\ /M *.* /S /D +"01/17/2012" /C "cmd /c if @fsize gtr 209715200 echo @path @fsize @fdate @ftime"
将扫描 D:\ 及其子目录,查找所有最后修改日期晚于“17-JAN-2012”且大小大于或等于 200MB 的文件,然后打印其详细信息。
forfiles 包含在一些 Windows Server 中,但 Windows XP 中并非默认包含。您可以从“Windows Server 2003 资源工具包”下载中提取它,网址为http://www.microsoft.com/download/en/details.aspx?id=17657(虽然它说是用于 Windows Server,但它在 Win XP 上运行没有问题)。
答案2
这听起来像是 PowerShell 的工作
获取子项
导航到相关目录,使用以下命令检查属性:
get-childitem | get-member
length 和 FullName 看起来很有趣,例如:
get-childitem |ft fullname, length -auto
一旦掌握了基础知识,请尝试使用 where 语句进行过滤。
get-childitem | where-object {$_.length -gt 10000} |ft fullname, length -auto
用 100000 进行实验
答案3
答案4
find 命令赛格威实用程序就是这样做的。根据您的要求
查找目录树中超过特定大小(例如 10MB)的文件的完整路径。
结果是:
查找-大小+10M-类型f-printf“%p%s \ n”
-size +10M
给你“对象”大超过 10 兆字节
-type f
仅提供文件
-printf
打印找到的文件、%p
路径、%s
大小(以字节为单位)和\n
换行符。