PowerShell查找分区中最大文件的方法(查找文件并按大小排序)

本文介绍一个PowerShell命令,用于将某个目录或磁盘(如D盘)下占用空间最大的前几个文件。这个任务在其它编程语言中,可能要大段大段的代码,而在PowerShell中,我们只需要一行。

当我们发现某个盘空间不足时,作为管理员,我们得要将该盘上的无用的文件做一些清理。面对这项工作,我们得要想哪些是无用的文件,哪些是占用空间比较大的文件。在实际操作过程中,我们不太可能花费大量的时间和精力去把所有的无用的文件都清除掉,所以,最佳的实践是找出占用空间最大的一些文件,然后来判断一下哪些是无用的。将这些占用空间大,且无用的文件清理了,磁盘空间不足的难题自然顿时就化解了。

好了,我们现在就来设想一下怎么找到一个目录或磁盘下最大的文件。一个最简单的思路是设置一个非常大的数组,然后遍历目录下的所有文件和子文件夹下的所有文件,将其名称、路径、占用空间大小等属性保存到数组中。最后对数组进行排序,得到最大文件的倒序列表。懂开发的兄弟听了后应该能感受到这个问题中的难度和复杂性了。总之,不简单!

我们来看看PowerShell中如何解决这个问题。
第一步,获取D盘下所有的文件的列表。这个很简单,有dir(即Get-ChildItem)这个cmdlet可以实现。

代码如下:

dir d:\ -Recurse

第二步,对得到的列表,按文件大小进行逆序排列。

代码如下:

dir d:\ -Recurse | Sort-Object -Descending length

注意,这里使用管道将第一步得到的文件列表作为输入参数给Sort-Object,然后Sort-Object再按照length(文件占用空间大小的属性,这个属性是第一步获得的列表对象中的属性,不是随便想的)倒序排列(-Descending表示倒序)。
第三步,对排序后的列表,提取出前10条。

代码如下:

dir d:\ -Recurse | Sort-Object -Descending length | Select-Object -First 10

这一步就不用解释了。

最终得到对象列表,为了输出好看,还可以在Select-Object的时候,控制一下输出部分属性,比如只输出Name和Length。所以最后可以得到如下结果:

代码如下:

PS C:\Users\splaybow> dir d:\ -Recurse | Sort-Object -Descending length | select-object name,length -First 10

Name                                                                     Length
----                                                                     ------
cn_windows_7_ultimate_x64_dvd_x15-66...                              3341268992
install.wim                                                          2928372216
VS2010UltimTrial.iso                                                 2446950400
Microsoft Office2007简体中文完整版.RAR                                626917327
boot.wim                                                              214131351
QQ2013SP2.exe                                                          59240120
KSbrowser_4.2.25.5498.exe                                              48147320
WPS.4369.19.552.exe                                                    45136112
lbpack_pro.exe                                                         44252624
WLAN_QualcommAtheros_Win7_64_VER1000...                                40988233

由此可以看出来,PowerShell在操作文件、磁盘等方面功能强大,使用尤其便捷。其中的排序功能、选择功能都用得让人感觉浑身舒爽,哈哈!洪哥觉得,有需要的朋友可以参照学习下。

关于PowerShell一句话查找出D盘最大的10个文件,本文就介绍这么多,希望对您有所帮助,谢谢!

(0)

相关推荐

  • php快速查找数据库中恶意代码的方法

    本文实例讲述了php快速查找数据库中恶意代码的方法.分享给大家供大家参考.具体如下: 数据库被输入恶意代码,为了保证你的数据库的安全,你必须得小心去清理.有了下面一个超级方便的功能,即可快速清除数据库恶意代码. function cleanInput($input) { $search = array( '@]*?>.*?@si', // Strip out javascript '@<[\/\!]*?[^<>]*?>@si', // Strip out HTML tags

  • JS查找数组中重复元素的方法详解

    本文实例讲述了JS查找数组中重复元素的方法.分享给大家供大家参考,具体如下: JS的数据类型有一个数组.今天我们就来谈谈对数组的一种处理.相信很多人都遇到过从数组中查找出不重复的元素,但是我遇到的却是从数组中查找出重复的元素. 从js数组中查找出不重复的元素的方法有很多,下面就给大家列举一个: <!DOCTYPE html> <html> <body> <script> Array.prototype.deleteEle=function(){ var ne

  • Python快速查找list中相同部分的方法

    如下所示: l = [1, 2, 3, 5] l_one = [2, 8, 6, 10] print set(l) & set(l_one) 以上这篇Python快速查找list中相同部分的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • PowerShell查找分区中最大文件的方法(查找文件并按大小排序)

    本文介绍一个PowerShell命令,用于将某个目录或磁盘(如D盘)下占用空间最大的前几个文件.这个任务在其它编程语言中,可能要大段大段的代码,而在PowerShell中,我们只需要一行. 当我们发现某个盘空间不足时,作为管理员,我们得要将该盘上的无用的文件做一些清理.面对这项工作,我们得要想哪些是无用的文件,哪些是占用空间比较大的文件.在实际操作过程中,我们不太可能花费大量的时间和精力去把所有的无用的文件都清除掉,所以,最佳的实践是找出占用空间最大的一些文件,然后来判断一下哪些是无用的.将这些

  • C#中查找Dictionary中重复值的方法

    简介 在这篇帮助文档中,我将向你展示如何实现c#里字典中重复值的查找.你知道的对于一个老鸟来说,这是非常简单的代码.但是尽管如此,这也是一篇对c#初学者非常有用的帮助文档. 背景 多数程序员对小型数据源存储的处理方式通常是创建字典进行键值存储.主键时唯一的,但是字典值却可能有重复的元素. 代码 这里我使用了一个简单的LINQ语句来查找字典中的重复值. 复制代码 代码如下: //initialize a dictionary with keys and values.    Dictionary<

  • 阿里云kubernetes查找镜像中jar包的方法(docker查看镜像中的jar)

    阿里云kubernetes查找镜像中jar包 ,docker 查看镜像中的jar 列出镜像 docker image ls 查看镜像详细信息 以ds-couponserver为例 docker image inspect 41884be5819c 找到 UpperDir 节点 进入目录 由于dockerfile 中配置了的jar包路径是/opt/java,多以jar包在该路径下 [root@zj_prod_node3 ~]# cd /var/lib/docker/overlay2/7a99992

  • Python编程中的文件读写及相关的文件对象方法讲解

    python文件读写 python 进行文件读写的内建函数是open或file file_hander(文件句柄或者叫做对象)= open(filename,mode) mode: 模式    说明 r        只读 r+      读写 w       写入,先删除源文件,在重新写入,如果文件没有则创建 w+     读写,先删除源文件,在重新写入,如果文件没有则创建(可以写入写出) 读文件: >>> fo = open("/root/a.txt") >

  • jQuery Ajax方式上传文件的方法

    jQuery Ajax方式上传文件用到两个对象 第一个对象:FormData 第二个对象:XMLHttpRequest 目前新版的Firefox 与 Chrome 等支持HTML5的浏览器完美的支持这两个对象,但IE9尚未支持 FormData 对象,还在用IE6 ? 只能仰天长叹.... 有了这两个对象,我们可以真正的实现Ajax方式上传文件. 示例代码: <!DOCTYPE html> <html> <head> <title>Html5 Ajax 上传

  • python实现在目录中查找指定文件的方法

    本文实例讲述了python实现在目录中查找指定文件的方法.分享给大家供大家参考.具体实现方法如下: 1. 模糊查找 复制代码 代码如下: import os from glob import glob #用到了这个模块 def search_file(pattern, search_path=os.environ['PATH'], pathsep=os.pathsep):     for path in search_path.split(os.pathsep):         for mat

  • 在 Linux 中查找文件的方法

    使用简单的命令在 Linux 下基于类型.内容等快速查找文件. 如果你是 Windows 或 OSX 的非资深用户,那么可能使用 GUI 来查找文件.你也可能发现界面受限,令人沮丧,或者两者兼而有之,并学会了组织文件并记住它们的确切顺序.你也可以在 Linux 中做到这一点 -- 但你不必这样做. Linux 的好处之一是它提供了多种方式来处理.你可以打开任何文件管理器或按下 Ctrl+F ,你也可以使用程序手动打开文件,或者你可以开始输入字母,它会过滤当前目录列表. 使用 Ctrl+F 在 L

随机推荐