Следующий учебник демонстрирует, как вы можете редактировать временные метки файлов - создавать, последний доступ и последнюю запись - используя 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.