Compare date - How to check if a file was modified today

This topic contains 5 replies, has 3 voices, and was last updated by  Dan Potter 1 year, 10 months ago.

  • Author
  • #47787

    Vandrey Trindade


    I'm creating a script to generate one HTML file with Dell EqualLogic data on it.
    In the end of the script I want to verify if the file was really modified.
    What I'm trying:

    * check today date
    * check file last write time
    * compare them

    Tested with this:

    $Today = Get-Date
    $FileDate = (Get-ChildItem ConfigEQL.html).LastWriteTime
    if ($FileDate -ge $Today){"ok"} else {"not ok"}



    What is the best way (and working way) to do it?

  • #47793

    Vandrey Trindade

    I was able to do it using this:

    $Xminutes = "2"
    $File = Get-ChildItem C:\PowerShell\Storage\Files\ConfigEQL.html | ? {$_.LastWriteTime -gt (Get-Date).AddMinutes(-$Xminutes)}


  • #47849

    Balázs Ludányi


    This is how I would do it:

    $Date = Get-Date;
    # rest of the script...
    $Modified = $($(ls 'C:\PowerShell\Storage\Files\ConfigEQL.html').LastWriteTime -gt $Date);

    $Modified will be $true if it was modified, $false otherwise.

    What you posted last is putting the file in $File if it was modified in the last 2 minutes,
    otherwise it will be $null. It serves the purpose for you, I just prefer having the result in a
    boolean fashion, maybe for a later use.

    • #47939

      Vandrey Trindade

      Balázs Ludányi,

      Thanks a lot! This is a much better way =]

  • #48101

    Dan Potter

    Put it all in one line rather than setting date at the beginning. All the extra formatting is unnecessary.

    (gci C:\PowerShell\Storage\Files\ConfigEQL.html).lastwritetime -gt [datetime]::today

    Alternatively use get-date and add minutes. (get-date).addminutes(-2)

  • #48107

    Dan Potter

    Powershell is really good at math as well.

    ([datetime]::now – (gci .\ConfigEQL.html).lastwritetime).totalminutes -lt 2

You must be logged in to reply to this topic.