Powershell 有没有办法根据LastWriteAccess日期列出文件?

Powershell 有没有办法根据LastWriteAccess日期列出文件?,powershell,Powershell,我的第一个方法是: gci-文件|?{$\.LastWriteTime-eq“3/25/2021”} 但这不会返回任何内容 相反地,使用-gt和-lt操作符,它似乎可以工作 gci | ? {$_.LastWriteTime -gt "3/24/2021" -and $_.LastWriteTime -lt "3/26/2021"} Directory: C:\logs Mode LastWriteTime

我的第一个方法是:
gci-文件|?{$\.LastWriteTime-eq“3/25/2021”}
但这不会返回任何内容

相反地,使用
-gt
-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()
值更方便。addDays()是一个特定的日期和时间。您将平等性与日期进行比较,因此需要引用该属性

gci -File | ? {$_.LastWriteTime.date -eq "3/25/2021"}
此外,如果这是一个将被其他人或在生产中使用的脚本,最好不要使用别名

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

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

gci -File | ? {$_.LastWriteTime.date -eq "3/25/2021"}
此外,如果这是一个将被其他人或在生产中使用的脚本,最好不要使用别名

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

谢谢你,道格·摩尔。感觉好像就在我鼻子底下。:)不客气@密歇根州_a@mich_a您也可以考虑通过单击复选标记来接受这个答案。这样其他读者就可以轻松找到解决方案。谢谢你@Doug Mauer。感觉好像就在我鼻子底下。:)不客气@密歇根州_a@mich_a您也可以考虑通过单击复选标记来接受这个答案。这样其他读者就可以轻松找到解决方案。欢迎@mich_a!我是否可以建议在发布问题时避免使用别名?虽然别名是一个很好的快捷方式,但它们往往使读取和调试变得更加困难。至于您的问题,问题是当您使用PowerShell中的字符串“3/26/2021”时。您应该使用(GetDate 3/23/2021)返回日期时间对象。欢迎@mich_a!我是否可以建议在发布问题时避免使用别名?虽然别名是一个很好的快捷方式,但它们往往使读取和调试变得更加困难。至于您的问题,问题是当您使用PowerShell中的字符串“3/26/2021”时。您应该使用(get date 3/23/2021)返回日期时间对象。