Bearbeiten von Zeitstempeln mit Windows PowerShell

Das folgende Tutorial zeigt, wie Sie Dateizeitstempel bearbeiten können - Erstellen, letzter Zugriff und letztes Schreiben - mit Windows PowerShell.

PowerShell ist Teil jeder modernen Version des Windows-Betriebssystems von Microsoft. Microsoft hat unter Windows 10 von der Eingabeaufforderung zu PowerShell gewechselt, die Eingabeaufforderung jedoch nicht entfernt.

Windows 10-Benutzer und -Administratoren haben Zugriff auf beide, der Entwicklungsschwerpunkt liegt jedoch eindeutig auf PowerShell.

Jeder Datei unter Windows und anderen Betriebssystemen sind mehrere Zeitstempel zugeordnet. Das Dateisystem protokolliert den Zeitpunkt der Dateierstellung, den letzten Zugriffszeitpunkt und den letzten Schreibzeitpunkt.

Bearbeiten von Zeitstempeln mit Windows PowerShell

Zunächst müssen Sie ein PowerShell-Fenster öffnen. Tippen Sie auf die Windows-Taste, geben Sie PowerShell ein und drücken Sie anschließend die Eingabetaste. Beachten Sie, dass dadurch die Eingabeaufforderung unter dem aktuellen Benutzerkonto gestartet wird. Wenn Sie eine Eingabeaufforderung mit erhöhten Rechten benötigen, um beispielsweise Dateizeitstempel von Ordnern zu bearbeiten, auf die der Benutzer nur eingeschränkten Zugriff hat, halten Sie zusätzlich die Umschalt- und die Strg-Taste gedrückt.

Folgende drei Befehle sind erforderlich:

  • $ (Get-Item FILENAME.EXT) .creationtime = $ (DATE)
  • $ (Get-Item FILENAME.EXT) .lastaccesstime = $ (DATE)
  • $ (Get-Item FILENAME.EXT) .lastwritetime = $ (DATE)

Die drei Befehle ändern die Erstellung, den letzten Zugriff und die letzten Schreibzeitstempel der Datei, wenn Sie sie ausführen.

Hinweis : Die Option "Letzte Zugriffszeit" ist aus Gründen der Leistung nicht bei allen unterstützten Windows-Versionen standardmäßig aktiviert.

Um Ihnen einige Beispiele zu geben:

  • $ (Get-Item test.txt) .creationtime = $ (Get-Date)
  • $ (Get-Item test.txt) .lastaccesstime = $ (Get-Date "24.12.2011 07:15")

Der erste Befehl setzt den Erstellungszeitstempel der Datei text.txt auf das aktuelle Datum und die aktuelle Uhrzeit. Der zweite Befehl ändert die letzte Zugriffszeit und das Datum auf den 24. Dezember 2011 um 7:15 Uhr.

Beachten Sie, dass für den Befehl erforderlich ist, dass sich die Datei im aktuellen Verzeichnis der PowerShell-Eingabeaufforderung befindet.

Hilfreiche Befehle

Möglicherweise ist es hilfreich, die Dateizeitstempel des aktuellen Ordners vor und nach dem Ausführen des PowerShell-Befehls aufzulisten. Dies erleichtert das Auffinden von Dateien, die noch geändert werden müssen, und das Überprüfen, ob die Änderungen korrekt angewendet wurden.

Get-ChildItem -force | Select-Object Mode, Name, CreationTime, LastAccessTime, LastWriteTime | ft

Der Befehl listet alle Dateien und Ordner des aktuellen Pfads auf und zeigt die Erstellungszeit, die letzte Zugriffszeit und die letzte Schreibzeit jedes Elements in einer Tabelle an.

  • -force schließt in diesem Zusammenhang versteckte und Systemdateien in die Ausgabe ein.
  • ft ist die Abkürzung für Formattabelle.

Wenn Sie nur den Erstellungszeitstempel benötigen, führen Sie stattdessen Get-ChildItem -force aus .

Das folgende Skript führt den Vorgang für alle Dateien aus.

$ modifyfiles = Get-ChildItem -force | Wo-Objekt {! $ _. PSIsContainer}

foreach ($ object in $ modifyfiles)

{

$ object.CreationTime = ("11/11/2011 12:00:00")

$ object.LastAccessTime = ("11/11/2011 12:00:00")

$ object.LastWritetime = ("11/11/2011 12:00:00")

}

Kopieren Sie es einfach, fügen Sie es ein und ändern Sie es entsprechend Ihren Anforderungen.

Tipp: Wenn Sie beim Ändern von Zeitstempeln eine grafische Benutzeroberfläche bevorzugen, lesen Sie stattdessen das kostenlose Softwareprogramm Attribute Changer.