Как редактировать метки времени с помощью Windows PowerShell

Следующий учебник демонстрирует, как вы можете редактировать временные метки файлов - создавать, последний доступ и последнюю запись - используя Windows PowerShell.

PowerShell является частью любой современной версии операционной системы Microsoft Windows. Microsoft перешла на PowerShell от командной строки в Windows 10, но не удалила командную строку, выполнив это.

Пользователи и администраторы Windows 10 имеют доступ к обоим, но основное внимание при разработке уделяется PowerShell.

Каждый файл в Windows и других операционных системах имеет несколько временных отметок, связанных с ним. Файловая система отслеживает время создания файлов, время последнего доступа и время последней записи.

Как редактировать метки времени с помощью Windows PowerShell

Первое, что вам нужно сделать, это запустить окно PowerShell. Нажмите на клавишу Windows, введите PowerShell и нажмите клавишу Enter после этого. Обратите внимание, что это запускает приглашение под текущей учетной записью пользователя. Если вам требуется запрос с повышенными правами, например, для редактирования временных меток файлов папок, к которым у пользователя ограничен доступ, дополнительно удерживайте клавиши Shift и Ctrl.

Вам нужны следующие три команды:

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

Три команды изменяют временные метки создания, последнего доступа и последней записи файла при их запуске.

Примечание . Время последнего доступа не включено по умолчанию во всех поддерживаемых версиях Windows из-за проблем с производительностью.

Чтобы дать вам несколько примеров:

  • $ (Get-Item test.txt) .creationtime = $ (Get-Date)
  • $ (Get-Item test.txt) .lastaccesstime = $ (Get-Date "24.12.2011, 07:15")

Первая команда устанавливает метку времени создания файла text.txt на текущую дату и время. Вторая команда изменяет время и дату последнего доступа на 24 декабря 2011 года в 7:15 утра.

Обратите внимание, что команда требует, чтобы файл находился в текущем каталоге приглашения PowerShell.

Полезные команды

Одна из вещей, которая может оказаться полезной, - перечислить временные метки файлов текущей папки до и после выполнения команды PowerShell. Это облегчает поиск файлов, которые все еще требуют изменения, и проверяет, были ли изменения применены правильно.

Get-ChildItem -force | Режим выбора объекта, Имя, CreationTime, LastAccessTime, LastWriteTime | фут

Команда выводит список всех файлов и папок текущего пути и отображает время создания, время последнего доступа и время последней записи каждого элемента в таблице.

  • -force в этом контексте включает в себя скрытые и системные файлы в выводе.
  • ft - сокращение от таблицы формата.

Если вам просто нужна временная метка создания, вместо этого запустите Get-ChildItem -force .

Следующий скрипт запускает операцию для всех файлов.

$ modifyfiles = Get-ChildItem -force | Где-Объект {! $ _. PsIsContainer}

foreach ($ объект в $ 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")

}

Просто скопируйте и вставьте его и измените в соответствии с вашими требованиями.

Совет: Если вы предпочитаете графический интерфейс пользователя, когда дело доходит до изменения временных меток, воспользуйтесь бесплатной программой Attribute Changer.