当前位置:
首页
文章
服务器
详情

Powershell按文件最后修改时间删除多余文件

一、删除目录内多余文件,目录文件个数大于$count后,按最后修改时间倒序排列,删除最旧的文件

  • Sort-Object -Property LastWriteTime -Descending 按照文件的最后修改时间倒序排列
  • Select-Object -Skip $count 跳过开头的 $count 条数据,取剩余的数据
$count = 3
$filePathList = "E:\MySql\1",
"E:\MySql\2",
"E:\MySql\3"

foreach($filePath in $filePathList)
{
    $files = Get-ChildItem -Path $filePath | Sort-Object -Property LastWriteTime -Descending | Select-Object -Skip $count
    if ($files.count -gt 0) {
        foreach($file in $files)
        {
            Remove-Item $file.FullName -Recurse -Force
        }
    }    
}

二、删除目录内所有文件修改时间超过timeOutDay的文件

$timeOutDay = 30
$filePath = "H:\DataBackup\File\1",
"H:\DataBackup\Database\2"

$allFile = Get-ChildItem -Path $filePath

foreach($file in $allFile)
{
    $daySpan = ((Get-Date) - $file.LastWriteTime).Days
    if ($daySpan -gt $timeOutDay)
    {
        Remove-Item $file.FullName -Recurse -Force
    }
}

免责申明:本站发布的内容(图片、视频和文字)以转载和分享为主,文章观点不代表本站立场,如涉及侵权请联系站长邮箱:xbc-online@qq.com进行反馈,一经查实,将立刻删除涉嫌侵权内容。

同类热门文章