powershell中的最后写时间逻辑

时间:2017-10-24 11:08:51

标签: powershell powershell-v2.0

我正在尝试编写一个简单的逻辑来触发以下条件中的事件:

  • 如果文件夹中存在文件且其他文件夹中的最后修改日期大于1小时(文件未被修改超过1小时/分钟等),则触发事件。

我在powershell中写过以下登录信息,但我不确定它是我想要的。

if ((Test-Path D:\Projects\test\*) -and (Get-ChildItem D:\Projects | Where{($_).LastWriteTime -gt (Get-Date).AddMinutes(-1)})) {
    $value = $TRUE
    (Get-Date).AddMinutes(-1)
    ($_).LastWriteTime
    Write-Host "pass"
    Write-Host $value
}
else {
    $value = $FALSE
    Write-Host "fail"
    Write-Host $value
}

逻辑中是否缺少某些东西,或者我走错了路?

注意:我们需要检查上次修改日期的其他文件夹中有很多文件。我们需要检查最新文件的最后修改日期。

1 个答案:

答案 0 :(得分:0)

根据您的其他要求:

$Test = (Get-Date).AddMinutes(-1)
$Files = Get-ChildItem D:\Projects |
  Sort-Object -Property LastWriteTime -Descending |
  Where-Object { $_.LastWriteTime -lt $Test } |
  Select-Object -First 1

If ((Test-Path D:\Projects\test\*) -and $Files)
{
    $value = $TRUE
    $Test
    $Files.LastWriteTime
    Write-Host "pass"
    Write-Host $value
}
Else
{
    $value = $FALSE
    Write-Host "fail"
    Write-Host $value
}