So ändern Sie Datum und Zeitstempel einer Datei mithilfe von CMD oder PowerShell

📅
🕑 6 Minuten Lesezeit

Das Ändern von Dateizeitstempeln mag banal erscheinen, ist aber überraschend nützlich, wenn Dateien bearbeitet aussehen sollen oder fehlerhafte Metadaten korrigiert werden müssen. Manchmal verfälscht Windows einfach die Zeitstempel, oder man möchte ein Dokument älter datieren (keine Sorge, wir verurteilen niemanden).Egal aus welchem ​​Grund: Zu wissen, wie man diese Datumsangaben mit integrierten Tools wie PowerShell oder sogar CMD (mit etwas zusätzlicher Hilfe) anpasst, kann viel Ärger ersparen. Ehrlich gesagt ist es etwas seltsam, wie Windows diese Attribute standardmäßig blockiert, solange man nicht die richtigen Tricks kennt. Dieser Leitfaden zeigt Ihnen daher die praktischen Schritte, um die Zeitstempel genau so zu ändern, wie Sie es möchten. Erwarten Sie einige Befehlszeilenaktionen, ein paar Tipps zur Stapelverarbeitung und etwas Frust – denn natürlich muss Windows es einem unnötig schwer machen.

So ändern Sie Datum und Zeitstempel von Dateien über die Eingabeaufforderung (CMD) oder PowerShell

Wenn Sie es leid sind, dass Ihre Dateien hartnäckig falsche Erstellungs-, Änderungs- oder Zugriffsdaten anzeigen, gibt es verschiedene Möglichkeiten, diese manuell zu korrigieren. PowerShell ist bereits standardmäßig recht leistungsfähig und ermöglicht Ihnen das einfache Festlegen aller drei Zeitstempel. CMD hingegen unterstützt dies nicht nativ, weshalb ein kleines externes Hilfsprogramm wie NirCmd sehr nützlich ist. Welche Methode Sie verwenden, hängt von Ihren Vorkenntnissen und der Anzahl der zu aktualisierenden Dateien ab. Wir gehen die einzelnen Schritte durch – denn manchmal schlagen diese Methoden auf bestimmten Systemen beim ersten Mal fehl oder erfordern einen Neustart. Lassen Sie sich also nicht entmutigen, wenn es nicht gleich beim ersten Mal klappt.

Dateidatum- und Zeitstempelattribute verstehen

Zuerst müssen Sie die Bedeutung der einzelnen Zeitstempel verstehen. Die wichtigsten sind:

  • Erstellungszeitpunkt : Wann die Datei erstellt wurde. Normalerweise sollten Sie diese Angabe nicht ändern, es sei denn, es ist unbedingt notwendig.
  • Letzte Änderungszeit : Der Zeitpunkt, zu dem die Datei zuletzt gespeichert oder geändert wurde. Dies ist üblicherweise der Zeitpunkt, der für diejenigen relevant ist, die kürzlich vorgenommene Änderungen vortäuschen möchten.
  • Letzter Zugriffszeitpunkt : Wann die Datei zuletzt geöffnet oder angesehen wurde. Weniger wichtig, aber wenn Sie die volle Kontrolle haben möchten, können Sie dies ebenfalls festlegen.

Diese Einstellungen sind in den Metadaten der Datei gespeichert und können manuell angepasst werden, Windows ist dabei aber nicht besonders transparent. Mit PowerShell lassen sie sich direkt über Befehle bearbeiten, während die Eingabeaufforderung (CMD) externe Hilfe benötigt. Der erste Schritt ist zu wissen, welche Einstellung man ändern möchte – andernfalls ist es, als würde man versuchen, eine Uhr zu reparieren, ohne zu wissen, an welchem ​​Teil man herumfummelt.

Dateizeitstempel über CMD mit NirCmd ändern

Wenn Sie ausschließlich mit der Kommandozeile arbeiten, ist dies möglicherweise die beste Lösung. Da Windows keine native Möglichkeit bietet, Zeitstempel direkt zu ändern, ist NirCmd hier sehr hilfreich. Es handelt sich um ein kleines Hilfsprogramm, mit dem Sie Dateizeitstempel über die Kommandozeile festlegen können. Ich habe es selbst schon ein paar Mal verwendet – bei einer Konfiguration funktionierte es nach einigem Herumprobieren, bei einer anderen musste ich den Computer neu starten. Geduld ist also gefragt.

  • Laden Sie NirCmd von der offiziellen Quelle herunter und extrahieren Sie es an einem beliebigen Ort.
  • Fügen Sie den Ordner, der nircmd.exe enthält, zur PATH- Umgebungsvariablen Ihres Systems hinzu – oder geben Sie einfach den vollständigen Pfad beim Ausführen von Befehlen an.
  • Öffnen Sie die Eingabeaufforderung als Administrator. Andernfalls kann es zu Berechtigungsproblemen kommen, also gehen Sie lieber auf Nummer sicher.
  • cdNavigieren Sie mit.zum Verzeichnis Ihrer Zieldatei.
  • Führen Sie einen Befehl wie den folgenden aus:
nircmd setfiletime "example.txt" "15-03-2023 10:22:30" "15-03-2023 10:22:30" "15-03-2023 10:22:30"

Dadurch werden alle drei Zeitstempel auf das von Ihnen angegebene Datum/die Uhrzeit gesetzt. Achten Sie darauf, das Format TT-MM-JJJJ HH:MM:SS zu verwenden, da es sonst zu Problemen kommen kann.

Wenn Sie die Uhrzeit nur auf den aktuellen Zeitpunkt anstatt auf ein bestimmtes Datum aktualisieren möchten, gehen Sie wie folgt vor:

nircmd setfiletime "example.txt" now now now

Super praktisch, wenn man schnell ein kürzlich erfolgtes Bearbeitungs- oder Öffnungsdatum vortäuschen möchte.

Stapelverarbeitung mehrerer Dateien mit CMD-Schleifen

Wenn Sie viele Dateien reparieren müssen, sollten Sie das nicht einzeln versuchen. Hier spielen CMD und NirCmd ihre Stärken im Batch-Modus aus. Mit einer for-Schleife (oder einer Schleife mit dem Parameter `/r`) können Sie alle Dateien in einem Ordner und sogar in Unterordnern gleichzeitig aktualisieren. Das ist zwar etwas umständlich, aber effektiv.

  • Navigieren Sie zum Zielordner.
  • Führen Sie etwa folgenden Befehl aus (ersetzen Sie Datum/Uhrzeit gegebenenfalls):
for /r %i in (*) do nircmd setfiletime "%i" "15-03-2023 10:23:38" "15-03-2023 10:23:38"

Dieser Befehl aktualisiert die Zeitstempel aller Dateien in diesem Ordner und allen Unterordnern. Praktisch zum Bereinigen von Zeitstempeln in großem Umfang, insbesondere bei Dutzenden oder Hunderten von Dateien.

Mehr Flexibilität mit PowerShell

Wenn Sie mit PowerShell vertrauter sind oder eine integrierte Lösung ohne externe Tools bevorzugen, ist PowerShell genau das Richtige für Sie. Es ist sehr leistungsstark, sobald man sich damit vertraut gemacht hat. Sie können CreationTime, LastWriteTime und LastAccessTime direkt mit integrierten Cmdlets ändern.

  • Öffnen Sie PowerShell als Administrator, da Sie andernfalls von den Berechtigungen ausgeschlossen werden könnten.
  • Legen Sie Ihr Zieldatum fest:
$NewDate = Get-Date -Year 2023 -Month 3 -Day 15 -Hour 10 -Minute 22 -Second 30

Dadurch wird ein Datumsobjekt erstellt, das Sie wiederverwenden können.

  • Setzen Sie die Zeitstempel Ihrer Dateien mit Befehlen wie:
Set-ItemProperty -Path "example.txt" -Name CreationTime -Value $NewDate Set-ItemProperty -Path "example.txt" -Name LastWriteTime -Value $NewDate

Dadurch werden sowohl die Erstellungs- als auch die Änderungszeit aktualisiert. Ganz einfach, sobald man sich daran gewöhnt hat.

Anpassen der letzten Zugriffszeit in PowerShell

Falls Sie ganz sichergehen und auch den Zeitstempel der letzten Öffnung ändern möchten, fügen Sie einfach Folgendes hinzu:

Set-ItemProperty -Path "example.txt" -Name LastAccessTime -Value $NewDate

Dadurch sieht die Datei so aus, als wäre sie gerade erst an dem von Ihnen angegebenen Datum geöffnet worden. Dies ist nützlich, wenn Sie kürzliche Aktivitäten vortäuschen möchten, insbesondere für Audit-Logs oder zum Sortieren von Dateien.

Massenaktualisierung mehrerer Dateien mit PowerShell

Die wahre Stärke von PowerShell liegt in der Stapelverarbeitung. Mit Get-ChildItem können Sie mehrere Dateien ansprechen und diese in einer Schleife durchlaufen:

Get-ChildItem -Path "C:\Path\To\Files\*.txt" | ForEach-Object { Set-ItemProperty -Path $_. FullName -Name CreationTime -Value $NewDate Set-ItemProperty -Path $_. FullName -Name LastWriteTime -Value $NewDate }

Wenn sich Ihre Dateien tief in Unterordnern befinden, fügen Sie -Recurse hinzu, um alles zu sammeln:

Get-ChildItem -Path "C:\Path\To\Files" -Recurse -Filter "*.txt" | ForEach-Object { Set-ItemProperty -Path $_. FullName -Name CreationTime -Value $NewDate Set-ItemProperty -Path $_. FullName -Name LastWriteTime -Value $NewDate }

PowerShell verarbeitet alle übereinstimmenden Dateien problemlos. Denken Sie nur daran: Bei mehrzeiligen Befehlen drücken Sie Shift + Enternach jeder Zeile die Eingabetaste und lassen Sie die letzte Zeile mit Enter stehen.

Häufig gestellte Fragen

Was sind Dateizeitstempelattribute in Windows?

Sie geben Auskunft darüber, wann eine Datei erstellt, zuletzt geändert und zuletzt aufgerufen wurde – so etwas wie digitale Fingerabdrücke.

Kann die Eingabeaufforderung (CMD) Dateizeitstempel ohne zusätzliche Tools ändern?

Nein, Windows hat dafür keinen nativen Befehl. Sie benötigen NirCmd oder etwas Ähnliches.

Ist PowerShell für diese Aufgabe besser geeignet als CMD?

Definitiv – PowerShell unterstützt nativ das Festlegen dieser Zeitstempel und bietet mehr Kontroll- und Batch-Optionen.

Welches Datumsformat benötigt NirCmd?

Verwenden Sie das Format TT-MM-JJJJ HH:MM:SS, sonst kann es zu Fehlfunktionen oder einem Defekt kommen.

Kann ich das für mehrere Dateien gleichzeitig tun?

Ja – sowohl PowerShell als auch CMD (mit NirCmd) unterstützen die Stapelverarbeitung, sodass nicht jede Datei manuell bearbeitet werden muss.

Benötige ich Administratorrechte?

In der Regel ja. Besonders dann, wenn Sie Zeitstempel von Systemdateien oder Dateien in geschützten Ordnern ändern. Führen Sie die Aktion am besten als Administrator aus, um Berechtigungsprobleme zu vermeiden.