Podemos cambiar la fecha de modificación de un archivo, directorio o múltiples archivos o directorios en Windows con powershell. Os voy a mostrar varios ejemplos:

Cambiar fecha de modificación de todos los archivos de un directorio

powershell foreach($file in Get-ChildItem pathDirectorio -Recurse) {$(Get-Item $file.Fullname).lastwritetime=$(Get-Date)}

Después del get-ChildItem ponemos el path del directorio donde se encuentran los archivos. El parámetro -Recurse le indica al comando que queremos encontrar todos los archivos que hayan tanto en la carpeta indicada como en la subcarpetas, de manera recursiva. Por último, en lastwritetime establecemos la fecha y hora actual.

Si queremos establecer un día y hora en concreto que no sea la actual podemos usar el siguiente patrón en lastwritetime:

.LastWriteTime = '01/10/2010 06:00:00'

Donde 1 es el mes, 10 el día y 2010 el año. Luego la hora en hh:mm:ss.

Cambiar fecha de modificación de un sólo archivo

powershell Get-ChildItem  C:\rutaarchivo.txt | % {$_.LastWriteTime = '01/10/2010 06:00:00'}

En este ejemplo hemos obviado el for each de tal manera que sólo lo cambiaremos la fecha de modificación a un único archivo.