Cómo editar marcas de tiempo con Windows PowerShell

El siguiente tutorial muestra cómo puede editar las marcas de tiempo del archivo (crear, último acceso y última escritura) con Windows PowerShell.

PowerShell es parte de cualquier versión moderna del sistema operativo Windows de Microsoft. Microsoft cambió a PowerShell fuera 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 de desarrollo radica 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 del tiempo de creación de archivos, el último tiempo de acceso y el último tiempo de escritura.

Cómo editar marcas de tiempo con Windows PowerShell

Lo primero que debe hacer es iniciar una ventana de PowerShell. Toque la tecla de Windows, escriba PowerShell y luego presione la tecla Intro. Tenga en cuenta que esto inicia la solicitud en la cuenta de usuario actual. Si necesita una solicitud elevada, por ejemplo, para editar marcas de tiempo de archivo de carpetas a las que el usuario tiene acceso limitado, mantenga presionadas las teclas Mayús y Ctrl.

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 la creación, el último acceso y la última marca de tiempo de escritura del archivo cuando los ejecuta.

Nota : El último tiempo 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 "24/12/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 última hora y fecha de acceso al 24 de diciembre de 2011 a las 7:15 a.m.

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

Comandos útiles

Una vez que puede ser útil es enumerar las marcas de tiempo del archivo de la carpeta actual antes y después de ejecutar el comando PowerShell. Esto facilita la búsqueda de archivos que aún requieren cambios y verifica si los cambios se han aplicado correctamente.

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

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

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

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

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

$ modifyfiles = Get-ChildItem -force | Donde-Objeto {! $ _. PSIsContainer}

foreach ($ objeto en $ modifyfiles)

{

$ object.CreationTime = ("11/11/2011 12:00:00")

$ object.LastAccessTime = ("11/11/2011 12:00:00")

$ object.LastWritetime = ("11/11/2011 12:00:00")

}

Simplemente cópielo y péguelo, y cámbielo según sus requisitos.

Sugerencia: Si prefiere una interfaz gráfica de usuario cuando se trata de cambiar las marcas de tiempo, consulte el programa de software gratuito Attribute Changer.