【发布时间】:2019-03-07 13:20:20
【问题描述】:
我正在尝试创建一个 powershellscript 来安排备份删除,这样硬盘就不会被填满。
- 我要做的是验证哪个文件是最新的
- 之后我想检查文件大小与第二个最新文件的差异是否不超过 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
【问题讨论】:
-
你可以给
$date添加负数,就像$Date.AddDays(-2)一样
标签: powershell backup delete-file