Hur du redigerar tidsstämplar med Windows PowerShell

Följande handledning visar hur du kan redigera filstämplar - skapa, senaste åtkomst och senast skriva - med Windows PowerShell.

PowerShell är en del av alla moderna versioner av Microsofts Windows-operativsystem. Microsoft flyttade till PowerShell från kommandotolken på Windows 10, men tog inte bort kommandotolken genom att göra det.

Windows 10-användare och administratörer har tillgång till båda, men utvecklingsfokus ligger tydligt på PowerShell.

Varje fil på Windows och andra operativsystem har också flera tidsstämplar associerade med den. Filsystemet håller reda på filtidens skapande, sista åtkomsttid och sista skrivtid.

Hur du redigerar tidsstämplar med Windows PowerShell

Det första du behöver göra är att starta ett PowerShell-fönster. Klicka på Windows-tangenten, skriv PowerShell och tryck på Enter-tangenten efteråt. Observera att detta startar prompten under det aktuella användarkontot. Om du behöver en förhöjd promp, till exempel för att redigera filstämplar för mappar som användaren har begränsad tillgång till, håll ner Skift-tangenten och Ctrl-tangenten ytterligare.

De tre kommandona du behöver är följande:

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

De tre kommandona ändrar skapandet, senaste åtkomst och senaste skrivstämplarna för filen när du kör dem.

Obs : Last Access Time är inte aktiverat som standard i alla versioner av Windows på grund av prestandaproblem.

För att ge dig några exempel:

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

Det första kommandot ställer in tidsstämpeln för filtext.txt till aktuellt datum och tid. Det andra kommandot ändrar den sista åtkomsttiden och datumet till 24 december 2011 kl 7:15.

Observera att kommandot kräver att filen finns i den aktuella katalogen i PowerShell-prompten.

Hjälpsamma kommandon

En gång som kan vara användbart är att lista filstämplarna för den aktuella mappen före och efter att du kör PowerShell-kommandot. Detta gör det lättare att hitta filer som fortfarande kräver ändring och kontrollera om ändringarna har tillämpats korrekt.

Get-ChildItem-force | Välj-objektläge, Namn, CreationTime, LastAccessTime, LastWriteTime | ft

Kommandot visar alla filer och mappar i den aktuella sökvägen och visar skapelsestid, sista åtkomsttid och sista skrivtid för varje objekt i en tabell.

  • -kraft i detta sammanhang inkluderar dolda och systemfiler i utgången.
  • ft är förkortning för formattabellen.

Om du bara behöver skapa tidsstämpel, kör istället Get-ChildItem-Force .

Följande skript kör operationen på alla filer.

$ modifyfiles = Get-ChildItem-force | Var-objekt {! $ _. PSIsContainer}

förhand ($ 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")

}

Kopiera och klistra in det och ändra det enligt dina krav.

Tips: Om du föredrar ett grafiskt användargränssnitt när det gäller att ändra tidsstämplar, kolla in det gratis programvaran Attribute Changer istället.