首页 > 解决方案 > PowerShell:尝试查找在某个日期之后修改的文件

问题描述

应该很简单吧?但我无法让它工作

我的代码:

$StiNavn = "C:\TestDato"

foreach ($i in $StiNavn)
{
    if ($i.LastWriteTime -ge ('01/06/2021').Date )
            {
        Get-ChildItem $i | % { $_.FullName }
             }
 }

但是所有文件都会返回,即使是今天编辑的文件(也是今天创建的文件)。

我究竟做错了什么?

标签: powershell

解决方案


StiNavn 只是一个字符串,您没有将任何文件/对象传递给 $StiNavn。运行 Get-ChildItem 然后将其分配给变量将生成一个对象集合,然后您可以使用 foreach 循环这些对象

$StiNavn = Get-ChildItem "C:\TestDato" -recursive

你也可以使用 where-object 来做一些事情。一个例子是...

$StiNavn = Get-ChildItem "C:\TestDato" -recurse | Where-Object {$_.LastWriteTime -lt (Get-Date).AddDays(-30)}

推荐阅读