首页 > 解决方案 > 有没有办法根据 LastWriteAccess 日期列出文件?

问题描述

我的第一种方法是: gci -File | ? {$_.LastWriteTime -eq "3/25/2021"} 但这不会返回任何东西

相反,使用-gtand-lt运算符,它似乎可以工作

gci | ? {$_.LastWriteTime -gt "3/24/2021" -and $_.LastWriteTime -lt "3/26/2021"}

    Directory: C:\logs

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---           24/3/2021  7:42 PM        1048804 fdm.1
-a---           24/3/2021  7:45 AM        1048617 hostd-probe.1
-a---           25/3/2021 10:27 AM          24246 usb.log

我正在寻找的是列出特定LastWriteAccess日期的文件。我没有使用.addDays()方法,因为我会在特定日期定期检查相同的文件,因此,使用静态日期会更方便,而不是更改.addDays()

标签: powershell

解决方案


LastWriteTime是一个具体的日期和时间。您将相等性与日期进行比较,因此您需要引用该属性

gci -File | ? {$_.LastWriteTime.date -eq "3/25/2021"}

此外,如果这是一个将被其他人使用或在生产中使用的脚本,最好不要使用别名。

Get-ChildItem -File |
    Where-Object {$_.LastWriteTime.date -eq "3/25/2021"}

推荐阅读