如何在PowerShell中比较两个日期并在几分钟内获得差异

use*_*168 9 windows powershell

我需要比较文件的LastWriteTime并将其与当前时间进行比较.如果差异大于45分钟,那么我需要收到电子邮件提醒.

这是我到目前为止所得到的.

$StartDate=(GET-DATE)

$EndDate=[datetime]”01/01/2014 00:00”

NEW-TIMESPAN –Start $StartDate –End $EndDate
Run Code Online (Sandbox Code Playgroud)

在上面的代码我需要更换$EndDateGet-Item C:\Users\myusername\Desktop\file.html | select LastWriteTime

我需要将file.html的LastWriteTime与当前时间进行比较.

请帮我 Get-Item C:\Users\myusername\Desktop\file.html | select LastWriteTime存入$EndDate

所以我可以做比较.

Dun*_*can 16

我认为这应该有效:

if (((Get-Date) - (Get-ChildItem file.html).LastWriteTime).TotalMinutes -gt 45) {
 Write-Host "Old file"
}
Run Code Online (Sandbox Code Playgroud)

只是将日期变为变量将是:

$EndDate = (Get-Item C:\Users\myusername\Desktop\file.html).LastWriteTime
Run Code Online (Sandbox Code Playgroud)

要么

$EndDate = Get-Item C:\Users\myusername\Desktop\file.html |
    select -expandproperty LastWriteTime
Run Code Online (Sandbox Code Playgroud)

select -expandproperty需要对旧版本的PowerShell(前3.0)时,你可能会在访问多个对象属性的语法.如果只有一个对象,即使在Powershell 2上我也不认为它是必需的.