Modify File Write Time In Powershell
Tags: powershell
The goal here is to fix file dates that were messed up after copying a huge amount of files from one server to another. We will look up the source file in $lookupPath then set the same modified date/time on the new file in $replacedPath.
$lookupPath = 'H:\Shares\Data\Documentation\Data'$replacedPath = 'C:\\Users\\USERNAME\\Data\\Documentation\\Data'
ForEach ($file in $(Get-ChildItem -Recurse)) {    $shortLocal = $file.FullName -Replace "$replacedPath",""    Write-Host "shortLocal is $shortLocal" -ForegroundColor Green    Write-Host "Time on shortLocal is" $(Get-Item $shortLocal).LastWriteTime -ForegroundColor Green
    $longRemote = $lookupPath + $shortLocal    Write-Host "longRemote is $longRemote" -ForegroundColor Cyan    Write-Host "Time on longRemote is" $(Get-Item $longRemote).LastWriteTime -ForegroundColor Cyan
    Write-Warning "Setting write time from $longRemote onto $shortLocal"    $(Get-Item $shortLocal).LastWriteTime=$(Get-Item $longRemote).LastWriteTime
    Write-Host "Time on shortLocal is now" $(Get-Item $shortLocal).LastWriteTime} Sources: 
 - https://superuser.com/questions/924365/changing-last-modified-date-or-time-via-powershell