簡體   English   中英

如何在Windows PowerShell腳本中使用創建日期時間早於90天的文件進行計數?

[英]How to get files count using creation date time older then 90 days in Windows PowerShell script?

我要求從包含多個子文件夾的整個目錄中獲取比90天更舊的文件。 我嘗試下面的腳本,但沒有運氣。

dir Z:\EDI\ |
    ? {$_.CreationTime -ge (Get-Date).AddDays(-90) -and !$_.PsIsContainer} |
    group {$_.CreationTime.ToShortDateString()} |
    select Name, Count

這是獲取信息的另一種方式。 [ 咧嘴 ]

它使用日期數學來獲取以天為單位的年齡並將其與允許的最大值進行比較。 然后將其放在自定義對象中,以后可用於獲取詳細信息。

$MaxAgeInDays = 90
$Today = (Get-Date).Date
$SourceDir = $env:TEMP

$TooOldFileList = Get-ChildItem -LiteralPath $SourceDir -File -Recurse |
    Where-Object {($Today - $_.CreationTime).Days -ge $MaxAgeInDays} |
    Sort-Object CreationTime |
    ForEach-Object {
        [PSCustomObject]@{
            AgeInDays = ($Today - $_.CreationTime).Days
            FileName = $_.FullName
            }
        }

$OldestFile = $TooOldFileList |
    Select-Object -First 1

''
'Max allowed age in days = {0, 5}' -f $MaxAgeInDays
'Number of too-old files = {0, 5}' -f $TooOldFileList.Count
'Oldest file age in days = {0, 5}' -f $OldestFile.AgeInDays
'Oldest file name        = {0}' -f $OldestFile.FileName

輸出...

Max allowed age in days =    90
Number of too-old files =   296
Oldest file age in days =  1136
Oldest file name        = C:\Temp\FXSAPIDebugLogFile.txt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM