• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >PowerShell > PowerShell统计文件夹下文件个数的方法

PowerShell统计文件夹下文件个数的方法

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了powershell程序文件,powershell 删除文件,powershell打开文件,powershell创建文件,powershell 下载文件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

计算一个文件夹下面的文件个数是一件很容易的事情,但看到这篇文章之前,还从来没有想过计算一下文件个数还有这么多学问在里头。

我们这里有两种方法来计算文件夹下的文件个数,下面分别展示详细的代码来计算windows目录下的文件个数。

1、使用Get-ChildItem来得到所有的子文件夹和文件,然后再选取出所有的文件,再使用Measure-Object,最后再从Measure-Object的结果中使用Select-Object的ExpandProperty参数来计算出个数。听起来就有点复杂,下面看看代码吧。
Get-ChildItem -Path $env:windir -Force |
 Where-Object { $_.PSIsContainer -eq $false } |
 Measure-Object |
 Select-Object -ExpandProperty Count
</div>
2、使用.NET自带的方法来完成。[System.IO.Directory]::GetFiles(string dir)这种使用方法大家不默生吧,不过没关系,懂.NET的朋友们看一眼就懂。当然反过来,如果不懂.NET的朋友也没有关系,见到一个有用的就学一个,也没有必要为了更好的使用PowerShell就去把.NET学一遍——虽然这也是一件很有意义的事。
[System.IO.Directory]::GetFiles($env:windir).Count
</div>
这段代码要着重说一下,据砖家研究,它的执行速度是第一种方法的20倍。好了,小编闭嘴了。

下面再附带两个循环读取一个文件夹下的所有子文件夹下的、所有的文件个数的代码:
Get-ChildItem -Path $env:windir -Force -Recurse -ErrorAction SilentlyContinue |
 Where-Object { $_.PSIsContainer -eq $false } |
 Measure-Object | 
 Select-Object -ExpandProperty Count

[System.IO.Directory]::GetFiles($env:windir, '*', 'AllDirectories').Count
</div>
同样的,.NET的方法效率要高得多。当然.NET的也不是一点弊端都没有,那就是如果在执行过程中遇到没有权限访问的文件,程序就会中断。而使用Get-ChildItem方法,它有一个-ErrorAction参数,可以对出错时进行SilentlyContinue处理(忽略,继续),这样就会中断了。

最后两种方法怎么取舍呢,小编因为是年轻人,喜欢效率高的。但有时候也没有办法,为了让系统更稳定,小编也不得不选择更优雅的——虽然它慢一点。

</div>

您可能想查找下面的文章:

  • Powershell 之批量获取文件大小的实现代码
  • 用PowerShell删除N天前或指定日期(前后)创建(或修改)的文件
  • PowerShell查看本机文件关联程序和默认打开程序的方法
  • PowerShell实现查询打开某个文件的默认应用程序
  • PowerShell实现批量重命名文件
  • Powershell使用OpenFileDialog打开文件示例
  • PowerShell中实现播放WAV音频文件
  • Powershell中显示隐藏文件的方法
  • PowerShell实现在多个文件中检索关键字功能
  • Powershell小技巧之从文件获取系统日志

相关文章

  • PowerShell中把IP转换为长整形数字的方法
  • Powershell直接脚本时出现无法加载文件因为禁止执行脚本
  • Powershell小技巧之获取对象可变的特征
  • Powershell从注册表中查询默认MAPI客户端的例子
  • PowerShell中字符串分行显示的两种方法技巧
  • PowerShell中Get-Date对象的常用属性和方法介绍
  • 探索PowerShell(五) PowerShell基础知识
  • PowerShell中调用外部程序和进程操作命令例子
  • Powershell互斥参数使用实例
  • PowerShell查找分区中最大文件的方法(查找文件并按大小排序)

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • PowerShell中使用正则和ValidateSet验证参数合法性
    • PowerShell中的函数重载示例
    • Powershell小技巧之使用-F方法带入数据
    • PowerShell比较文本文件的两个方法
    • 用PowerShell代替批处理吧!
    • Shell获取字符串长度的多种方法总结
    • PowerShell时间记录脚本
    • PowerShell中直接输出转义字符或变量名称的方法
    • Powershell中Finally语句用法示例
    • PowerShell函数一次返回多个返回值示例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有