【问题标题】:Delete files older than 5 minutes using PowerShell使用 PowerShell 删除超过 5 分钟的文件
【发布时间】:2017-11-06 09:53:44
【问题描述】:

我只想删除 5 分钟前在特定文件夹中创建的文件 (*.txt)。我尝试过这样的事情,但它毫无例外地删除了所有 *.txt 文件。

$limit = (Get-Date).AddMinutes(-5)
$path = "C:\Users\akoch\Desktop\Folder1"
$Extension = "*.txt"

Get-ChildItem -Path $path -Include $Extension -Force | Where-Object {$_.CreationTime -lt $limit} | Remove-Item 

【问题讨论】:

  • 在 UTC 工作可能会更好,例如$limit = (Get-Date).ToUniversalTime().AddMinutes(-5)$_.CreationTimeUtc -lt $limit 这样时区和夏令时就不会搞砸了。

标签: powershell


【解决方案1】:

使用 -filter 代替 -include

$limit = (Get-Date).AddMinutes(-5)
$path = "C:\Users\akoch\Desktop\Folder1"
$Extension = "*.txt"

Get-ChildItem -Path $path -Filter $Extension -Force | Where-Object {$_.CreationTime -lt $limit} | Remove-Item

这里的问题是你实际上没有过滤任何东西

【讨论】:

    猜你喜欢
    • 2013-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-23
    • 2016-09-19
    • 1970-01-01
    • 2014-01-20
    • 2016-10-09
    相关资源
    最近更新 更多