Is it possible to change a file or folders last modified date/time via PowerShell?
I have a folder folder1/
and I want to change the last modified date and time of that folder and it's contents via PowerShell.
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.
Sign up to join this communityGet the file object then set the property:
$file = Get-Item C:\Path\TO\File.txt
$file.LastWriteTime = (Get-Date)
or for a folder:
$folder = Get-Item C:\folder1
$folder.LastWriteTime = (Get-Date)
(Get-Item C:\Path\To\File.txt).LastWriteTime = (Get-Date)
The following way explained here works for me. So I used:
Get-ChildItem C:\testFile1.txt | % {$_.LastWriteTime = '01/11/2005 06:01:36'}
Do not get confused by the "get-*" command... it will work regardless that it is a get instead of write or something. Keep also noted as written in the source that you need to use YOUR configured data format and maybe not the one in my example above.
Yes, it is possible to change the last modified date. Here is a one liner example
powershell foreach($file in Get-ChildItem folder1) {$(Get-Item $file.Fullname).lastwritetime=$(Get-Date).AddHours(-5)}
Get-ChildItem
also has a -Recurse
option so you can also do it for the entire tree.
To do a kind of unix touch
in powershell on all files :
(Get-ChildItem -Path . –File –Recurse) | % {$_.LastWriteTime = (Get-Date)}
or all files and folders:
(Get-ChildItem -Path . –Recurse) | % {$_.LastWriteTime = (Get-Date)}
get-childitem d: \ * -recurse | % {$_.LastWriteTime = (Get-Date)}
This works for all files and folders in a tree.