Sådan redigeres tidsstempler med Windows PowerShell

Følgende tutorial viser, hvordan du kan redigere filtidsstempler - oprette, sidste adgang og sidste skrivning - ved hjælp af Windows PowerShell.

PowerShell er en del af enhver moderne version af Microsofts Windows-operativsystem. Microsoft skiftede til PowerShell væk fra Kommandoprompten på Windows 10, men fjernede ikke kommandoprompten ved at gøre det.

Windows 10-brugere og administratorer har adgang til begge dele, men udviklingsfokus ligger tydeligt på PowerShell.

Hver fil på Windows og andre operativsystemer har også flere tidsstempler tilknyttet den. Filsystemet holder styr på oprettelsestiden for filer, sidste adgangstid og sidste skrivetid.

Sådan redigeres tidsstempler med Windows PowerShell

Den første ting du skal gøre er at starte et PowerShell-vindue. Tryk på Windows-tasten, skriv PowerShell, og tryk derefter på Enter-tasten bagefter. Bemærk, at dette starter prompten under den aktuelle brugerkonto. Hvis du har brug for en forhøjet promp, f.eks. For at redigere filtidsstempler for mapper, som brugeren har begrænset adgang til, skal du holde Skift-tasten og Ctrl-tasten nede.

De tre kommandoer, du har brug for, er følgende:

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

De tre kommandoer ændrer oprettelsen, den sidste adgang og den sidste skrivestempel for filen, når du kører dem.

Bemærk : Sidste adgangstid er som standard ikke aktiveret på alle understøttede versioner af Windows på grund af ydeevne.

For at give dig nogle eksempler:

  • $ (Get-Item test.txt) .creationtime = $ (Get-Date)
  • $ (Get-Item test.txt) .lastaccesstime = $ (Get-Date "12/24/2011 07:15 am")

Den første kommando indstiller oprettelsestidstemplet for filteksten.txt til den aktuelle dato og tid. Den anden kommando ændrer den sidste adgangstid og -dato til 24. december 2011 kl. 7:15.

Bemærk, at kommandoen kræver, at filen findes i det aktuelle bibliotek i PowerShell-prompten.

Nyttige kommandoer

En ting, der kan være nyttigt, er at liste filtidstemplerne i den aktuelle mappe før og efter du har kørt PowerShell-kommandoen. Dette gør det lettere at finde filer, der stadig kræver ændring, og kontrollere, om ændringerne er blevet anvendt korrekt.

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

Kommandoen viser alle filer og mapper på den aktuelle sti og viser oprettelsestid, sidste adgangstid og sidste skrivetid for hvert element i en tabel.

  • -styrke i denne sammenhæng inkluderer skjulte filer og systemfiler i output.
  • ft er forkortelse til formattabel.

Hvis du bare har brug for oprettelse af tidsstempel, skal du køre Get-ChildItem-Force i stedet.

Følgende script kører handlingen på alle filer.

$ modifyfiles = Get-ChildItem-Force | Hvor-objekt {! $ _. PSIsContainer}

foreach ($ objekt i $ 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")

}

Bare kopier og indsæt det, og ændr det i henhold til dine krav.

Tip: Hvis du foretrækker en grafisk brugergrænseflade, når det drejer sig om at ændre tidsstempler, skal du tjekke det gratis softwareprogram Attributtskifte i stedet.