gpt4 book ai didi

powershell - 如果最新文件大小不小,请删除旧的备份文件

转载 作者:行者123 更新时间:2023-12-02 23:36:10 34 4
gpt4 key购买 nike

我正在尝试创建一个powershellscript来计划备份删除,以使HDD不会满。

  • 我想要做的是验证哪个文件是最新的
  • 之后,我要检查文件大小与第二个最新文件的差异是否超过10%。
  • 如果文件大小在大小范围内,则删除除最新文件以外的所有文件。
  • 如果文件大小小于或大于第二个最新文件的10%,则删除除最新文件和第二个最新文件以外的所有文件。

  • 我希望你们能帮助我解决如何使代码起作用的想法。

    我从下面开始删除所有早于2天的文件,但是我不太确定如何更改它以保持最新文件不依赖日期。
    $Path = "C:\Temp\Backup\Folder1\"
    $Days = 2
    $Date = Get-Date
    $Include = "*.gpg"
    $Exclude = "*.txt"

    Get-ChildItem $Path -Recurse |
    Where-Object {-not $_.PSIsContainer -and $Date.Subtract($_.CreationTime).Days -gt $Days } |
    Remove-Item -WhatIf

    最佳答案

    您可以执行以下操作:

    $BackupFiles = Get-ChildItem -File | Sort-Object LastWriteTime -Descending

    $LatestBackup = $BackupFiles | Select -First 1
    $PrevBackup = $BackupFiles | Select -Skip 1 -First 1

    $BackupSizeThreshold = $PrevBackup.Length * 0.1


    $FilesToRemove = If ($LatestBackup.Length -le ($PrevBackup.Length + $BackupSizeThreshold) -and $LatestBackup.Length -ge ($PrevBackup.Length - $BackupSizeThreshold)) {
    $BackupFiles | Select -Skip 1
    }
    Else {
    $BackupFiles | Select -Skip 2
    }

    $FilesToRemove | Remove-Item -WhatIf

    如果看到期望的结果,请删除 -WhatIf

    关于powershell - 如果最新文件大小不小,请删除旧的备份文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55044820/

    34 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com