Как редактировать метки времени с помощью 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 = $ (ДАТА)
- $ (Get-Item FILENAME.EXT) .lastaccesstime = $ (ДАТА)
- $ (Get-Item FILENAME.EXT) .lastwritetime = $ (ДАТА)
Эти три команды изменяют временные метки создания, последнего доступа и последней записи файла при их запуске.
Заметка : Время последнего доступа не включено по умолчанию во всех поддерживаемых версиях 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 — сокращение от format table.
Если вам просто нужна метка времени создания, запустите 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 вместо.