使用PowerShell统计子文件夹大小
2015-05-13 21:09
585 查看
分享一个自己写的项目里用到的PowerShell脚本,这个脚本写的很简单,功能也不复杂,主要作用就是统计一个文件夹下的所有子文件夹的大小,这是为了配合统计之前从各个用户计算机收集的信息,每个收集到的信息都会被存档到以这台计算机名称命名的文件夹里,但是哪台计算上收集失败了呢?每个人收集上来的数据大小是多少呢?这个就需要再统计了。
这种功能的软件其实网上有很多,但是对于一个IT Pro来说,什么事都问百度可不是个好习惯,自己动手丰衣足食,反正这也是个很简单的功能不需要太复杂的逻辑,直接上手用PowerShell就搞定了
下边来看看代码
就是一个很简单的函数而已,来看看测试用的文件夹结构,test是父目录,在这个目录下会有很多子目录,每个子目录里可能还会嵌套子目录
![](http://s3.51cto.com/wyfs02/M00/6C/D2/wKioL1VTTZuRtxIMAAJv0W-fTJ8698.jpg)
另外这些文件夹里也会包含很多文件
![](http://s3.51cto.com/wyfs02/M00/6C/D7/wKiom1VTTCHBNTmMAAC2mzHXofE576.jpg)
执行这个函数之后,可以看到统计出来的结果如下,为了观看方便这里统计转换成了kb的形式
![](http://s3.51cto.com/wyfs02/M00/6C/D7/wKiom1VTTCHAPqQ9AAET2oq6s_U019.jpg)
今天就先分享这个吧,以后争取再写点更有用的脚本
这种功能的软件其实网上有很多,但是对于一个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是父目录,在这个目录下会有很多子目录,每个子目录里可能还会嵌套子目录
![](http://s3.51cto.com/wyfs02/M00/6C/D2/wKioL1VTTZuRtxIMAAJv0W-fTJ8698.jpg)
另外这些文件夹里也会包含很多文件
![](http://s3.51cto.com/wyfs02/M00/6C/D7/wKiom1VTTCHBNTmMAAC2mzHXofE576.jpg)
执行这个函数之后,可以看到统计出来的结果如下,为了观看方便这里统计转换成了kb的形式
filesize -filepath "E:\系统文件转储\桌面\test"
![](http://s3.51cto.com/wyfs02/M00/6C/D7/wKiom1VTTCHAPqQ9AAET2oq6s_U019.jpg)
今天就先分享这个吧,以后争取再写点更有用的脚本
相关文章推荐
- 使用VMware Converter减小VMDK 磁盘大小
- presentModalViewController使用 UIModalPresentationFormSheet,无法改变frame大小
- 修改Tomcat使用的JVM内存大小
- Oracle 查看表空间的大小及使用情况sql语句
- 88、使用tensorboard进行可视化学习,查看具体使用时间,训练轮数,使用内存大小
- Oracle 查看表空间的大小及使用情况sql语句
- 从零开始学C++之对象的使用(一):static 成员变量、static 成员函数、类/对象的大小
- 使用无限大小线程池 newCachedThreadPool 可能遇到的问题
- 云计算Openstack-Liberty版 - 使用技巧 -调整主机大小,官方镜像调整
- Oracle 查看表空间的大小及使用情况sql语句
- C语言:使用realloc函数对malloc或者calloc动态分配的内存大小进行扩展
- 借鉴drawable文件夹,values使用dimens控制字体大小、边距大小。适配Android不同机型,不同屏幕
- SlickGrid使用JQuery1.9.1后的调整列大小问题
- 所有池连接均在使用,并且达到了最大池大小。
- 请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句
- js使用showModalDialog,弹出一个自适应大小窗口
- Eclipse(MyEclipse)使用技巧——修改注释字体大小
- iOS中使用c函数快速获取一个目录所占的空间大小
- 使用Google WebP图片格式帮助控制网站页面大小
- JS限制上传图片大小不使用控件在本地实现