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')
我有以下代码。它正在工作,但问题是,例如,如果现在是 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 点。
[datetime]'12:00am' - [timespan]'1'
Wednesday, September 11, 2019 12:00:00 AM
所以:
get-childitem | where creationtime -gt ([datetime]'12:00am' - [timespan]'1')