【PowerShell】计算文件夹大小

简介:

Powershell 2.0版本下的脚本:

1
2
3
4
5
6
7
8
9
10
11
12
<#
Script Function: get size of folder
Script Editor: Snail Yu
#>
$directories = Get-ChildItem  c:\windows  |where  { $_ .mode  -like  "d*" }
foreach  ( $directory  in  $directories ){
     $files =( Get-ChildItem  $directory .fullname -Recurse -ErrorAction SilentlyContinue |where  { $_ .mode  -like  "-a*" })
     foreach  ( $file  in  $files ){
         $size = $size + $file .length
     }
      write-host  "the size of $directory is : $size"
}

 

PowerShell 4.0版本下的脚本:

1
2
3
4
5
6
7
8
9
10
11
12
<#
Script Function: get size of folder
Script Editor: Snail Yu
#>
$directories = Get-ChildItem  d:\ -Directory
foreach  ( $directory  in  $directories ){       
$files = Get-ChildItem  $directory .FullName -Recurse –File -ErrorAction SilentlyContinue   
foreach  ( $file  in  $files ){            
    $size = $size + $file .Length       
    }        
    write-host  "the size of $directory is : $size"     
}

 

参数说明:

(1)powershell 2.0中的get-childitem 没有file和directory的参数,只有通过管道来筛选;

(2)-erratction为错误处理机制,详见博客:http://281816327.blog.51cto.com/907015/1417587

(3)powershell得到的是文件夹名不包括绝对路径,需要用fullname属性显示指定;





本文转自 bannerpei 51CTO博客,原文链接:http://blog.51cto.com/281816327/1549025,如需转载请自行联系原作者
相关文章
|
Windows
PowerShell和cmd区别以及在文件夹快速打开cmd窗口的几种方法
PowerShell和cmd区别以及在文件夹快速打开cmd窗口的几种方法
179 0
|
2月前
|
监控 关系型数据库 MySQL
PowerShell 脚本编写 :自动化Windows 开发工作流程
PowerShell 脚本编写 :自动化Windows 开发工作流程
88 0
|
3月前
|
Windows
Powershell 重新排列去重 Windows环境变量
【9月更文挑战第13天】本文介绍如何使用PowerShell对Windows环境变量进行重新排列和去重。首先通过`$env:`访问环境变量,接着使用`-split`命令分割路径,再利用`Select-Object -Unique`去除重复项。之后可根据需要对路径进行排序,最后将处理后的路径组合并更新环境变量。注意修改环境变量前应备份重要数据并了解潜在影响。
144 10
|
7月前
|
存储 Ubuntu Linux
windows可以安装Ubuntu,ubuntu上也可以安装Powershell
powerhsell除了可以在windows上使用外,还可以在Ubuntu上部署开发环境。下面介绍Ubuntu上安装powershell的方法。
225 0
|
Shell Linux 开发工具
windows中cmd和PowerShell批处理命令
之前在 Git 批量删除本地分支,有用到 Linux 或 MacOS 下的批处理命令,这个命令中的 grep、xargs 本身是 Shell script,在 windows 中的 cmd 和 PowerShell 中是不能用的
114 0
|
JavaScript Windows
[Vue]解决 Windows PowerShell 不识别 vue 命令的问题
[Vue]解决 Windows PowerShell 不识别 vue 命令的问题
|
Windows
使用PowerShell获取Windows当前锁屏壁纸
使用PowerShell获取Windows当前锁屏壁纸 如果原始图片丢了,用这段代码就可以提取当前锁屏壁纸了!
199 0