powershell如何只查看最近24小时内创建的文件

How to see only the files created in the last 24 hours in powershell

我有以下代码。它正在工作,但问题是,例如,如果现在是 8:20PM,代码会看到前一天 8:20PM 之后的所有文件。我需要前一天凌晨 12 点后。

Get-ChildItem -Exclude *.log |
    Sort CreationTime -Descending |
    Where-Object { $_.CreationTime -gt (Get-Date).AddDays(-1) } |
    Select-Object -ExpandProperty Name

我该如何解决?

(Get-Date).AddDays(-1)
Thursday, 12 September 2019 8:20:00 PM

((Get-Date).AddDays(-1)).Date
Thursday, 12 September 2019 12:00:00 AM

获取 DateTime 对象的 Date 属性 会将时间设置为午夜。如果你在中午之后,你总是可以通过 ((Get-Date).AddDays(-1)).Date.AddHours(12)

来增加 12 小时

这样做的方式非常混乱,但它确实有效。

我会这样构图。编辑:问题更改后从中午 12 点更改为凌晨 12 点。

[datetime]'12:00am' - [timespan]'1'  

Wednesday, September 11, 2019 12:00:00 AM

所以:

get-childitem | where creationtime -gt ([datetime]'12:00am' - [timespan]'1')