How to set LastWriteTime property of a file?
16,350
Solution 1
Not tested, but try this in your loop after you call New-Item:
$file = Get-ChildItem $path$clientname$space$date$space$time.bak
$file.LastWriteTime = (Get-Date).AddDays(-1-$i)
If you want to see a full listing of things you can do with FileInfo objects, try calling $file | gm
in your powershell console. You could also view the docs on MSDN.
Solution 2
for ($i=0; $i -lt 7;$i++)
{
$date = (Get-Date).AddDays(-1-$i)
$filedate = $date.ToString('yyyy-MM-dd')
$file = New-Item -ItemType File $path$clientname$space$filedate$space$time.bak
$file.LastWriteTime = $date
}
Related videos on Youtube
Comments
-
Adeel ASIF almost 2 years
I would like to change the creation date of the files that I generate with this script :
$clientname = Read-Host "Enter the client name" $path = Read-Host "Enter the complete path of .bak files" $time = "01-00-00" $space = " " for ($i = 0; $i -lt 7;$i++) { $date = (Get-Date).AddDays(-1-$i).ToString('yyyy-MM-dd') New-Item -ItemType file $path$clientname$space$date$space$time.bak }
So it gives me theses files :
Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 16/08/2013 16:55 0 client 2013-08-15 01-00-00.bak -a--- 16/08/2013 16:55 0 client 2013-08-14 01-00-00.bak -a--- 16/08/2013 16:55 0 client 2013-08-13 01-00-00.bak -a--- 16/08/2013 16:55 0 client 2013-08-12 01-00-00.bak -a--- 16/08/2013 16:55 0 client 2013-08-11 01-00-00.bak -a--- 16/08/2013 16:55 0 client 2013-08-10 01-00-00.bak -a--- 16/08/2013 16:55 0 client 2013-08-09 01-00-00.bak
I want to modify the LastWriteTime property of each files, I want it to be the same as the date in the file name.
Example for this file
"client 2013-08-15 01-00-00.bak"
the LastWriteTime will be"15/08/2013 01:00"
I'm stuck and I do not how can we do that
Thank you