PowerShell查找分區(qū)中最大文件的方法(查找文件并按大小排序)
本文介紹一個(gè)PowerShell命令,用于將某個(gè)目錄或磁盤(pán)(如D盤(pán))下占用空間最大的前幾個(gè)文件。這個(gè)任務(wù)在其它編程語(yǔ)言中,可能要大段大段的代碼,而在PowerShell中,我們只需要一行。
當(dāng)我們發(fā)現(xiàn)某個(gè)盤(pán)空間不足時(shí),作為管理員,我們得要將該盤(pán)上的無(wú)用的文件做一些清理。面對(duì)這項(xiàng)工作,我們得要想哪些是無(wú)用的文件,哪些是占用空間比較大的文件。在實(shí)際操作過(guò)程中,我們不太可能花費(fèi)大量的時(shí)間和精力去把所有的無(wú)用的文件都清除掉,所以,最佳的實(shí)踐是找出占用空間最大的一些文件,然后來(lái)判斷一下哪些是無(wú)用的。將這些占用空間大,且無(wú)用的文件清理了,磁盤(pán)空間不足的難題自然頓時(shí)就化解了。
好了,我們現(xiàn)在就來(lái)設(shè)想一下怎么找到一個(gè)目錄或磁盤(pán)下最大的文件。一個(gè)最簡(jiǎn)單的思路是設(shè)置一個(gè)非常大的數(shù)組,然后遍歷目錄下的所有文件和子文件夾下的所有文件,將其名稱(chēng)、路徑、占用空間大小等屬性保存到數(shù)組中。最后對(duì)數(shù)組進(jìn)行排序,得到最大文件的倒序列表。懂開(kāi)發(fā)的兄弟聽(tīng)了后應(yīng)該能感受到這個(gè)問(wèn)題中的難度和復(fù)雜性了。總之,不簡(jiǎn)單!
我們來(lái)看看PowerShell中如何解決這個(gè)問(wèn)題。
第一步,獲取D盤(pán)下所有的文件的列表。這個(gè)很簡(jiǎn)單,有dir(即Get-ChildItem)這個(gè)cmdlet可以實(shí)現(xiàn)。
第二步,對(duì)得到的列表,按文件大小進(jìn)行逆序排列。
注意,這里使用管道將第一步得到的文件列表作為輸入?yún)?shù)給Sort-Object,然后Sort-Object再按照l(shuí)ength(文件占用空間大小的屬性,這個(gè)屬性是第一步獲得的列表對(duì)象中的屬性,不是隨便想的)倒序排列(-Descending表示倒序)。
第三步,對(duì)排序后的列表,提取出前10條。
這一步就不用解釋了。
最終得到對(duì)象列表,為了輸出好看,還可以在Select-Object的時(shí)候,控制一下輸出部分屬性,比如只輸出Name和Length。所以最后可以得到如下結(jié)果:
Name Length
---- ------
cn_windows_7_ultimate_x64_dvd_x15-66... 3341268992
install.wim 2928372216
VS2010UltimTrial.iso 2446950400
Microsoft Office2007簡(jiǎn)體中文完整版.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
由此可以看出來(lái),PowerShell在操作文件、磁盤(pán)等方面功能強(qiáng)大,使用尤其便捷。其中的排序功能、選擇功能都用得讓人感覺(jué)渾身舒爽,哈哈!洪哥覺(jué)得,有需要的朋友可以參照學(xué)習(xí)下。
關(guān)于PowerShell一句話(huà)查找出D盤(pán)最大的10個(gè)文件,本文就介紹這么多,希望對(duì)您有所幫助,謝謝!
相關(guān)文章
使用PowerShell獲取Trustedinstaller權(quán)限的問(wèn)題
這篇文章主要介紹了使用PowerShell獲取Trustedinstaller權(quán)限,獲取到?Trustedinstaller?權(quán)限,就可以通過(guò)一些命令來(lái)修改系統(tǒng)文件了,本文給大家詳細(xì)講解,需要的朋友可以參考下2023-01-01
PowerShell小技巧之讀取Windows產(chǎn)品密鑰
這篇文章主要給大家分享一段使用PowerShell讀取Windows產(chǎn)品密鑰的小技巧,非常的簡(jiǎn)單實(shí)用,有需要的朋友可以參考下。2014-10-10
PowerShell 讀取性能計(jì)數(shù)器二進(jìn)制文件(.blg)記錄并匯總計(jì)算
由于監(jiān)控及報(bào)告需要,要統(tǒng)計(jì)性能計(jì)數(shù)器每天數(shù)值情況,確認(rèn)數(shù)據(jù)庫(kù)服務(wù)器的運(yùn)行狀況。若打開(kāi)計(jì)數(shù)器填寫(xiě),比較麻煩,現(xiàn)在統(tǒng)計(jì)用 powershell 來(lái)讀取計(jì)數(shù)器的值2016-11-11
PowerShell中使用Get-EventLog讀取、篩選系統(tǒng)日志的例子
這篇文章主要介紹了PowerShell中使用Get-EventLog讀取、篩選系統(tǒng)日志的例子,比如按日志名稱(chēng)、日志類(lèi)型、時(shí)間的技巧,需要的朋友可以參考下2014-08-08
Powershell腳本的4種執(zhí)行權(quán)限介紹
這篇文章主要介紹了Powershell腳本的4種執(zhí)行權(quán)限介紹,Windows默認(rèn)不允許任何腳本運(yùn)行,你可以使用"Set-ExecutionPolicy"cmdlet來(lái)改變的你PowerShell環(huán)境,共有4種運(yùn)行權(quán)限,需要的朋友可以參考下2015-06-06
PowerShell獲取當(dāng)前進(jìn)程PID的小技巧
這篇文章主要介紹了PowerShell獲取當(dāng)前進(jìn)程PID的小技巧,直接使用一個(gè)全局變量$pid即可獲取當(dāng)前進(jìn)程的PID,需要的朋友可以參考下2014-08-08
Windows Powershell Switch 循環(huán)
這篇文章主要介紹了Windows Powershell Switch 循環(huán)以及PowerShell中數(shù)組可以與switch語(yǔ)句結(jié)合,產(chǎn)生意想不到的效果。2014-10-10

