Como editar registros de data e hora com o Windows PowerShell

O tutorial a seguir demonstra como você pode editar os carimbos de data / hora do arquivo - criar, último acesso e última gravação - usando o Windows PowerShell.

O PowerShell faz parte de qualquer versão moderna do sistema operacional Windows da Microsoft. A Microsoft mudou para o PowerShell longe do prompt de comando no Windows 10, mas não removeu o prompt de comando.

Os usuários e administradores do Windows 10 têm acesso a ambos, mas o foco do desenvolvimento está claramente no PowerShell.

Cada arquivo no Windows e em outros sistemas operacionais também possui vários carimbos de data e hora associados a ele. O sistema de arquivos controla o horário de criação dos arquivos, o último horário de acesso e o último horário de gravação.

Como editar registros de data e hora com o Windows PowerShell

A primeira coisa que você precisa fazer é iniciar uma janela do PowerShell. Toque na tecla Windows, digite PowerShell e pressione a tecla Enter depois. Observe que isso inicia o prompt na conta de usuário atual. Se você precisar de um prompt elevado, por exemplo, para editar registros de data e hora de arquivos às pastas às quais o usuário tem acesso limitado, mantenha pressionadas as teclas Shift e Ctrl adicionalmente.

Os três comandos que você precisa são os seguintes:

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

Os três comandos alteram os carimbos de data e hora da criação, último acesso e última gravação do arquivo quando você os executa.

Nota : O horário do último acesso não está ativado por padrão em todas as versões suportadas do Windows devido a problemas de desempenho.

Para dar alguns exemplos:

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

O primeiro comando define o registro de data e hora de criação do arquivo text.txt para a data e hora atuais. O segundo comando altera a última hora e data de acesso para 24 de dezembro de 2011 às 7:15.

Observe que o comando requer que o arquivo esteja no diretório atual do prompt do PowerShell.

Comandos úteis

Uma coisa que pode ser útil é listar os carimbos de data e hora do arquivo da pasta atual antes e depois da execução do comando do PowerShell. Isso facilita a localização de arquivos que ainda precisam ser alterados e a verificação se as alterações foram aplicadas corretamente.

Get-ChildItem -force | Modo Selecionar Objeto, Nome, Tempo de Criação, ÚltimoAcesso, ÚltimoWriteTime | ft

O comando lista todos os arquivos e pastas do caminho atual e exibe a hora da criação, a última hora de acesso e a última hora de gravação de cada item em uma tabela.

  • -force neste contexto inclui arquivos ocultos e do sistema na saída.
  • ft é a abreviação de formato de tabela.

Se você apenas precisar do carimbo de data / hora de criação, execute Get-ChildItem -force .

O script a seguir executa a operação em todos os arquivos.

$ modifyfiles = Get-ChildItem -force | Where-Object {! $ _. PSIsContainer}

foreach ($ objeto em $ 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")

}

Basta copiar e colar e alterá-lo de acordo com seus requisitos.

Dica: Se você preferir uma interface gráfica com o usuário quando se trata de alterar os carimbos de data e hora, consulte o programa de software livre Attribute Changer.