Abfrage der letzten Schreibzeit der Datei in PowerShell

  1. Abfrage von Dateieigenschaften in PowerShell
  2. Konvertieren Sie Werte in PowerShell in DateTime-Formate
  3. Finden Sie den Unterschied zwischen zwei Datumsangaben in PowerShell
Abfrage der letzten Schreibzeit der Datei in PowerShell

Bei der Verwaltung von Dateien ist eine unserer am häufigsten zu überprüfenden Eigenschaften, wann die Datei zuletzt geändert wurde. Wir können dies bequem über den Datei-Explorer schnell überprüfen.

Es wird jedoch vorkommen, dass wir die Eigenschaften einer Datei programmgesteuert mit PowerShell überprüfen möchten.

In diesem Artikel lernen und besprechen wir, wie man die Eigenschaften einer Datei abruft, nach ihrer letzten Schreibzeit abfragt und zusätzliche Befehle ausführt, um ihr vom aktuellen Datum abweichendes Datum zu erhalten.

Abfrage von Dateieigenschaften in PowerShell

Mit Windows PowerShell können wir Dateieigenschaften einfach mit dem Befehl Get-ItemProperty abfragen. Nehmen wir eine Datei als Beispiel.

Beispielcode:

$filepath = "C:\Temp\Login.log"
Get-ItemProperty -Path $filepath

Im obigen Beispiel haben wir die grundlegenden Eigenschaften von Login.log abgefragt. Das obige Snippet ahmt nach, wie wir Dateieigenschaften mit dem Datei-Explorer betrachten.

Ausgang:

    Directory: C:\Temp


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----          6/7/2022   4:33 AM           4944 Login.log

Wir konnten sogar die Eigenschaft Modus oder die Dateiberechtigungen, die Länge oder die Dateigrösse und LastWriteTime oder das Datum und die Uhrzeit der letzten Änderung der Datei sehen.

Für diesen Artikel wollten wir uns jetzt mehr auf die letzte Schreibzeit der Datei konzentrieren, also versuchen wir, diese Eigenschaft zu isolieren, indem wir das aktualisierte Code-Snippet unten ausführen.

Beispielcode:

$filepath = "C:\Temp\Login.log"
(Get-ItemProperty -Path $filepath -Name LastWriteTime).LastWriteTime

Ausgang:

Tuesday, June 7, 2022 4:33:02 AM

Wie wir sehen können, haben wir jetzt die letzte Änderungszeit der Datei korrekt isoliert; Wenn wir jedoch die Differenz zwischen der aktuellen Uhrzeit und dem aktuellen Datum und der vorherigen Schreibzeit der Datei erhalten wollten, würden wir aufgrund ihres unterschiedlichen Datentyps einen Fehler erhalten.

Konvertieren Sie Werte in PowerShell in DateTime-Formate

In PowerShell haben wir einen bestimmten Datentyp namens DateTime, der das Datums- und Zeitformat des Systems symbolisiert. Unsere vorherige Ausgabe ist im String-Format, also konvertieren wir diese in das DateTime-Format, indem wir den folgenden Code ausführen.

Beispielcode:

$filepath = "C:\Temp\Login.log"
$lastWrite = [DateTime](Get-ItemProperty -Path $filepath -Name LastWriteTime).LastWriteTime

Beachten Sie, dass wir einem Ergebnis den Wert DateTime zugewiesen haben. Wir haben dies getan, um unser Skript später bequemer zu machen.

Finden Sie den Unterschied zwischen zwei Datumsangaben in PowerShell

Jetzt, da unsere Ausgabe im DateTime-Format vorliegt, können wir bequem den Unterschied zwischen der aktuellen und der letzten Schreibzeit ermitteln, indem wir einen einfachen mathematischen Ausdruck ausführen.

Beispielcode:

$currDate = Get-Date
$currDate - $lastWrite

Ausgang:

Days              : 0
Hours             : 17
Minutes           : 24
Seconds           : 57
Milliseconds      : 757
Ticks             : 626977577652
TotalDays         : 0.725668492652778
TotalHours        : 17.4160438236667
TotalMinutes      : 1044.96262942
TotalSeconds      : 62697.7577652
TotalMilliseconds : 62697757.7652

Der Befehl Get-Date fragt während der Ausführung des Befehls das aktuelle Datum und die Uhrzeit ab. Der Befehl wird mit einem DateTime-Datentyp gespeichert, wodurch er unserem vorbereiteten letzten Schreibzeitwert ähnelt.

Bei zwei Variablen vom Datentyp DateTime können wir die Gesamtzeit und die Differenz mit einem mathematischen Operator wie Plus (+) und Minus (-) ermitteln.

Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Verwandter Artikel - PowerShell File