Mit PowerShell prüfen, ob Datei von HEUTE

PowerShell kann mit einem ganz einfachen Weg prüfen, ob eine Datei von heute stammt, oder nicht. Hierzu verwendet man das Attribut Änderungsdatum, welches in PowerShell mit LastWriteTime angesprochen wird. Am Besten kombiniert man das mit einer IF-Abfrage, ob die Datei vom aktuellen Tag stammt und wenn ja, was dann passiert.

Dateien Heute PowerShell

Prüfen, ob eine Datei vom aktuellen Tag (heute) stammt mit PowerShell

Mit PowerShell ist es ganz einfach Attribute von Dateien auslesen zu lassen. Um nun zu überprüfen, ob eine bestimmte Datei vom heutigen Tag stammt, also vom aktuellen Tag, verwendet man das Änderungsdatum der Datei. In PowerShell wird dieses Datum über das Atribut LastWriteTime angesprochen. Außerdem benötigt man natürlich das aktuelle Datum, welches man mit (Get-Date).date auslesen lässt. Der PowerShell Operator -gt überprüft nun, ob die LastWriteTime größer ist als die des ausgelesenen Datums. Denn das aktuelle Datum wird mit der Uhrzeit 00:00 Uhr ausgegeben.

#Quell-Pfadangabe
$sourcedir = "L:\Taetigkeitserfassung\TE\data\sql"

#fuer jede datei im ordner
Get-ChildItem $sourcedir | ForEach-Object {
#  

    #ueberpruefen ob datei von heute, wenn ja ausfuehren
    if($_.LastWriteTime -gt (Get-Date).date){

    
        write-host "Datei von HEUTE:" $_.BaseName

        }

     else {

        write-host "Datei NICHT von HEUTE:" $_.BaseName

          }
              
}
Datei vom heutigen (aktuellen) Tag PowerShell

Als Ausgabe wird lediglich die Datei “TESTDATEI” als Datei von HEUTE ausgegeben. Das ist auch korrekt so, wie man im Screenshot des Ordners oben erkennen kann, da diese die einzige Datei ist, welche vom aktuellen Tag stammt.

Möchte man lediglich die Dateien des aktuellen Tages in einer Variable haben, so kann man das ganze auch ohne IF-Statement realisieren, in einer einzelnen Zeile.

#Quell-Pfadangabe
$sourcedir = "L:\Taetigkeitserfassung\TE\data\sql"

$filenames = Get-ChildItem $sourcedir | Where-Object {$_.LastWriteTime -gt (Get-Date).date}

Somit werden die zutreffenden Dateien in die Variable $filenames geschrieben und man kann die Dateien des aktuellen Tages weiter verarbeiten mit PowerShell.

Johannes Huber
 

In seiner Freizeit macht Johannes nichts lieber, als für ITnator Beiträge zu schreiben. Input bekommt er hierfür von Problemen in der IT Administration von Servern, Clients und vielen weiteren IT Komponenten.

Click Here to Leave a Comment Below 0 comments