Cómo editar marcas de tiempo con Windows PowerShell

El siguiente tutorial demuestra cómo se pueden editar las marcas de tiempo de los archivos (creación, último acceso y última escritura) mediante Windows PowerShell.

PowerShell es parte de cualquier versión moderna del sistema operativo Windows de Microsoft. Microsoft cambió a PowerShell lejos del símbolo del sistema en Windows 10, pero no eliminó el símbolo del sistema al hacerlo.



Los usuarios y administradores de Windows 10 tienen acceso a ambos, pero el enfoque del desarrollo se encuentra claramente en PowerShell.

Cada archivo en Windows, y también en otros sistemas operativos, tiene varias marcas de tiempo asociadas. El sistema de archivos realiza un seguimiento de la hora de creación de los archivos, la hora del último acceso y la hora de la última escritura.

Cómo editar marcas de tiempo con Windows PowerShell

powershell change timestamp

Lo primero que debe hacer es iniciar una ventana de PowerShell. Toque la tecla de Windows, escriba PowerShell y luego presione la tecla Enter. Tenga en cuenta que esto lanza el mensaje en la cuenta de usuario actual. Si necesita un mensaje elevado, por ejemplo, para editar las marcas de tiempo de los archivos de las carpetas a las que el usuario tiene acceso limitado, mantenga presionada la tecla Mayús y la tecla Ctrl además.



Los tres comandos que necesita son los siguientes:

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

Los tres comandos cambian las marcas de tiempo de creación, último acceso y última escritura del archivo cuando los ejecuta.

Nota: Última hora de acceso no está habilitado de forma predeterminada en todas las versiones compatibles de Windows debido a problemas de rendimiento.

Para darte algunos ejemplos:

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

El primer comando establece la marca de tiempo de creación del archivo text.txt en la fecha y hora actuales. El segundo comando cambia la fecha y hora del último acceso al 24 de diciembre de 2011 a las 7:15 am.

Tenga en cuenta que el comando requiere que el archivo esté en el directorio actual del indicador de PowerShell.

Órdenes útiles

Una cosa que puede ser útil es enumerar las marcas de tiempo del archivo de la carpeta actual antes y después de ejecutar el comando de PowerShell. Esto hace que sea más fácil encontrar archivos que aún requieren cambios y verificar si los cambios se han aplicado correctamente.

Get-ChildItem -force | Modo Seleccionar objeto, Nombre, CreationTime, LastAccessTime, LastWriteTime | pie

powershell list timestamps

El comando enumera todos los archivos y carpetas de la ruta actual y muestra la hora de creación, la hora del último acceso y la hora de la última escritura de cada elemento en una tabla.



  • -force en este contexto incluye archivos ocultos y del sistema en la salida.
  • ft es la abreviatura de tabla de formato.

Si solo necesita la marca de tiempo de creación, ejecute Get-ChildItem -force en lugar.

El siguiente script ejecuta la operación en todos los archivos.

$ modificar archivos = Get-ChildItem -force | Where-Object {! $ _. PSIsContainer}
foreach ($ objeto en $ modificar archivos)
{
$ object.CreationTime = ('11/11/2011 12:00:00')

$ objeto.LastAccessTime = ('11/11/2011 12:00:00')

$ objeto.LastWritetime = ('11 / 11/2011 12:00:00 ')

}

Simplemente cópielo, péguelo y cámbielo de acuerdo con sus requisitos.

Consejo: si prefiere una interfaz gráfica de usuario cuando se trata de cambiar las marcas de tiempo, consulte la programa de software gratuito Attribute Changer en lugar.