Tijdstempels bewerken met Windows PowerShell

De volgende zelfstudie laat zien hoe u met behulp van Windows PowerShell de tijdstempels van een bestand kunt bewerken - maken, laatste toegang en laatste schrijfactie.

PowerShell maakt deel uit van elke moderne versie van het Windows-besturingssysteem van Microsoft. Microsoft verschoof naar PowerShell weg van de opdrachtprompt op Windows 10, maar heeft de opdrachtprompt niet verwijderd.

Windows 10-gebruikers en -beheerders hebben toegang tot beide, maar de ontwikkelingsfocus ligt duidelijk op PowerShell.

Aan elk bestand op Windows en andere besturingssystemen zijn verschillende tijdstempels gekoppeld. Het bestandssysteem houdt de aanmaaktijd van de bestanden, de laatste toegangstijd en de laatste schrijftijd bij.

Tijdstempels bewerken met Windows PowerShell

Het eerste wat u moet doen, is een PowerShell-venster openen. Tik op de Windows-toets, typ PowerShell en druk daarna op Enter. Merk op dat hierdoor de prompt onder het huidige gebruikersaccount wordt gestart. Als u een verhoogde prompt nodig hebt, bijvoorbeeld om bestandstempels van mappen te bewerken waartoe de gebruiker beperkte toegang heeft, houdt u bovendien Shift-toets en Ctrl-toets ingedrukt.

De drie opdrachten die u nodig hebt, zijn de volgende:

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

De drie opdrachten wijzigen de aanmaak, laatste toegang en laatste schrijftijdstempels van het bestand wanneer u ze uitvoert.

Opmerking : Laatste toegangstijd is niet standaard ingeschakeld op alle ondersteunde versies van Windows vanwege prestatieproblemen.

Om u enkele voorbeelden te geven:

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

De eerste opdracht stelt het tijdstempel van het bestand text.txt in op de huidige datum en tijd. Het tweede commando wijzigt de laatste toegangstijd en -datum in 24 december 2011 om 07:15 uur.

Merk op dat de opdracht vereist dat het bestand zich in de huidige map van de PowerShell-prompt bevindt.

Handige opdrachten

Een ding dat nuttig kan zijn, is om de tijdstempels van het bestand in de huidige map te vermelden voordat en nadat u de PowerShell-opdracht uitvoert. Dit maakt het eenvoudiger om bestanden te vinden die nog moeten worden gewijzigd en om te controleren of de wijzigingen correct zijn toegepast.

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

De opdracht geeft alle bestanden en mappen van het huidige pad weer en geeft de aanmaaktijd, de laatste toegangstijd en de laatste schrijftijd van elk item in een tabel weer.

  • -force in deze context omvat verborgen en systeembestanden in de uitvoer.
  • ft staat voor format-tabel.

Als u alleen het tijdstempel maken nodig hebt, voert u in plaats daarvan Get-ChildItem -force uit .

Het volgende script voert de bewerking uit op alle bestanden.

$ modifiedfiles = Get-ChildItem -force | Waar-object {! $ _. PSIsContainer}

foreach ($ object in $ wijzigbestanden)

{

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

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

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

}

Kopieer en plak het en wijzig het volgens uw vereisten.

Tip: als u de voorkeur geeft aan een grafische gebruikersinterface als het gaat om het wijzigen van tijdstempels, bekijk dan in plaats daarvan het gratis softwareprogramma Attribute Changer.