码迷,mamicode.com
首页 > 系统相关 > 详细

使用PowerShell统计子文件夹大小

时间:2015-05-14 06:21:50      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:function   百度   计算机   文件夹   null   powershell   

    分享一个自己写的项目里用到的PowerShell脚本,这个脚本写的很简单,功能也不复杂,主要作用就是统计一个文件夹下的所有子文件夹的大小,这是为了配合统计之前从各个用户计算机收集的信息,每个收集到的信息都会被存档到以这台计算机名称命名的文件夹里,但是哪台计算上收集失败了呢?每个人收集上来的数据大小是多少呢?这个就需要再统计了。

    这种功能的软件其实网上有很多,但是对于一个IT Pro来说,什么事都问百度可不是个好习惯,自己动手丰衣足食,反正这也是个很简单的功能不需要太复杂的逻辑,直接上手用PowerShell就搞定了

    下边来看看代码

    

function filesize ([string]$filepath)
{
	
	if ($filepath -eq $null)
	{
		throw "路径不能为空"
	}
	dir -Path $filepath |
	ForEach-Object -Process {
		if ($_.psiscontainer -eq $true)
		{
			$length = 0
			dir -Path $_.fullname -Recurse | ForEach-Object{
				$length += $_.Length
			}
			$l = $length/1KB
			$_.name + "文件夹的大小为: {0:n1} KB" -f $l
		}
	}
	
}
filesize -filepath "E:\系统文件转储\桌面\test"


就是一个很简单的函数而已,来看看测试用的文件夹结构,test是父目录,在这个目录下会有很多子目录,每个子目录里可能还会嵌套子目录

技术分享


另外这些文件夹里也会包含很多文件

技术分享



执行这个函数之后,可以看到统计出来的结果如下,为了观看方便这里统计转换成了kb的形式

filesize -filepath "E:\系统文件转储\桌面\test"

技术分享


今天就先分享这个吧,以后争取再写点更有用的脚本

本文出自 “Just Make it happen” 博客,请务必保留此出处http://mxyit.blog.51cto.com/4308871/1651080

使用PowerShell统计子文件夹大小

标签:function   百度   计算机   文件夹   null   powershell   

原文地址:http://mxyit.blog.51cto.com/4308871/1651080

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!