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

Welcome Forums General PowerShell Q&A Compare date - How to check if a file was modified today

This topic contains 5 replies, has 3 voices, and was last updated by

 
Participant
2 years, 3 months ago.

  • Author
    Posts
  • #47787

    Participant
    Points: 40
    Rank: Member

    Hi,

    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"}
    

    and:

    $FileDate.CompareTo($Today)
    

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

  • #47793

    Participant
    Points: 40
    Rank: Member

    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)}
    

    Thanks!

  • #47849

    Participant
    Points: 0
    Rank: Member

    Hi,

    This is how I would do it:

    $Date = Get-Date;
    
    # ...run 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

      Participant
      Points: 40
      Rank: Member

      Balázs Ludányi,

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

  • #48101

    Participant
    Points: 21
    Rank: Member

    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

    Participant
    Points: 21
    Rank: Member

    Powershell is really good at math as well.

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

The topic ‘Compare date - How to check if a file was modified today’ is closed to new replies.