西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁(yè)編程開(kāi)發(fā)其它知識(shí) → PowerShell2.0監(jiān)控磁盤空間 清理系統(tǒng)磁盤

PowerShell2.0監(jiān)控磁盤空間 清理系統(tǒng)磁盤

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:本站整理時(shí)間:2011/1/7 9:04:24字體大。A-A+

作者:付海軍點(diǎn)擊:241次評(píng)論:0次標(biāo)簽: PowerShell

  • 類型:編程輔助大小:1.7M語(yǔ)言:中文 評(píng)分:10.0
  • 標(biāo)簽:
立即下載

 隨著時(shí)間的增長(zhǎng),系統(tǒng)中的可用空間會(huì)越來(lái)越少。系統(tǒng)管理員需要清理磁盤,前提是了解系統(tǒng)磁盤空間,為此需要追蹤一段時(shí)間內(nèi)的磁盤空間的使用情況。創(chuàng)建名為“QueryOldFiles.ps1”的腳本連接到特定文件夾,并為其中所有超過(guò)30天未訪問(wèn)過(guò)的文件生成列表,在獲得過(guò)期文件后可以根據(jù)實(shí)際情況處理。該腳本的代碼如下:

function FunWithLine ($strIN)

{

$num = $strIN.length

for($i=1 ; $i -le $num ; $i++)

{ $funline = $funline + "=" }

Write-Host -ForegroundColor yellow $strIN

Write-Host -ForegroundColor darkYellow $funline

}

$folder = "c:\Windows"

$date = Get-Date

$limit = 30

Get-ChildItem -Path $folder -force |

foreach-object `

{

$newDate=($_.LastAccessTime).adddays($limit)

$limitDate = New-TimeSpan -start $date -end $newDate

if ($limitDate -le 0)

{

$xfiles += @{ $_.name = $_.lastAccessTime }

}

}

Write-Host "There are $($xfiles.count) files from $folder greater than $limit days old."

FunWithLine("The expired files are listed below:")

$xfiles

其中首先定義了FunWithLine函數(shù)獲得傳遞給函數(shù)的字符串的長(zhǎng)度,并使用Write-Host cmdlet創(chuàng)建用黃色顯示帶下畫線的字符。然后初始化3個(gè)變量,其中是$folder保存要檢查過(guò)期文件的文件夾的路徑;$data保存當(dāng)前日期的datetime(日期時(shí)間)對(duì)象。當(dāng)前日期可以通過(guò)Get-Date cmdlet獲取,$limit變量值用于判斷允許文件存在的最長(zhǎng)壽命,可以據(jù)此決定是否需要將其報(bào)告為過(guò)期文件。

在初始化3個(gè)變量之后使用Get-Children cmdlet獲得要檢查的文件列表,將$folder變量中包括的字符串提供給Get-Children cmdlet的-path參數(shù)。然后使用-force參數(shù)返回隱藏文件,并將生成的fileinfo對(duì)象采用管道傳遞給ForEach-Object cmdlet。

在ForEach-Object代碼塊中創(chuàng)建了新的datetime對(duì)象并將其保存在$newDate變量中,為了在文件現(xiàn)有最后訪問(wèn)時(shí)間點(diǎn)的基礎(chǔ)上增加天數(shù)$limit,使用了addDays()方法。datetime對(duì)象通過(guò)查詢管道中當(dāng)前fileinfo對(duì)象的LastAccessTime屬性獲得。

使用New-TimeSpan cmdlet創(chuàng)建代表文件的有效存活時(shí)間段,其中該對(duì)象為當(dāng)前時(shí)間$date變量提供-start參數(shù)。將$newDate變量提供給-end參數(shù),表示文件最后訪問(wèn)日期要求的過(guò)期時(shí)間$limit,最后在$limitdate變量中保存獲得的timespan對(duì)象。當(dāng)$limitdate值小于等于0時(shí),則將當(dāng)前對(duì)象輸出給$xfiles變量,表示文件的最后訪問(wèn)日期已經(jīng)超過(guò)了$limit變量中指定的過(guò)期時(shí)間。圖1所示即此腳本在Windows文件夾中的執(zhí)行結(jié)果,需要提示的是執(zhí)行此腳本會(huì)因?yàn)閃indows文件夾中文件的過(guò)期時(shí)間不同而顯示不同的結(jié)果,但其原理一致。



作者: 付海軍
出處:http://fuhj02.cnblogs.com
版權(quán):本文版權(quán)歸作者和博客園共有
轉(zhuǎn)載:歡迎轉(zhuǎn)載,為了保存作者的創(chuàng)作熱情,請(qǐng)按要求【轉(zhuǎn)載】,謝謝

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過(guò)難過(guò)
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)