Как изменить дату файла или метку времени в Windows

Windows поддерживает три разных даты / времени для каждого файла и папки. Это «Дата создания», «Дата изменения» и «Дата доступа». В некоторых ситуациях вам может потребоваться изменить измененную, созданную или последнюю использованную метку времени файла или папки.

Например, мне пришлось изменить временную метку некоторых файлов, чтобы протестировать метод синхронизации Robocopy при написании статьи о сравнении и синхронизации папок. Другим пользователям может потребоваться изменить дату или время файла для целей резервного копирования или архивирования.

Давайте рассмотрим некоторые способы изменения даты создания, изменения или даты последнего обращения к файлам в этой статье.

Изменить дату создания файла, дату последнего доступа или изменения

Использование PowerShell

Чтобы изменить дату файла с помощью PowerShell, вот команды, которые вам нужно выполнить:

Измените дату / время создания файла с именем log1.txt:

 (Get-Item "D: \ Test \ log1.txt"). CreationTime = ("3 августа 2019 17:00:00") 

Измените дату / время последней записи файла с именем log1.txt:

 (Get-Item "D: \ Test \ log1.txt"). LastWriteTime = ("3 августа 2019 17:10:00") 

Измените последнюю доступную дату / время файла с именем log1.txt:

 (Get-Item "D: \ Test \ log1.txt"). LastAccessTime = ("3 августа 2019 г. 17:10:00") 

Измените дату / время всех файлов в папке с именем Test:

Чтобы изменить метку времени всех файлов в папке, используйте следующий синтаксис:

 Get-ChildItem -force d: \ test \ * | ForEach-Object {$ _. CreationTime = ("3 августа 2019 17:00:00")} Get-ChildItem -force d: \ test \ * | ForEach-Object {$ _. LastWriteTime = ("3 августа 2019 17:10:00")} Get-ChildItem -force d: \ test \ * | ForEach-Object {$ _. LastAccessTime = ("3 августа 2019 17:10:00")} 

Обратите внимание, что приведенная выше команда изменяет временную метку для каждого файла и подпапки в папке. Чтобы применить изменение только к файлам (т.е. исключить подпапки), используйте следующий синтаксис:

$config[ads_text6] not found
 Get-ChildItem -force d: \ test \ * | Где-Объект {! $ _. PSIsContainer} | ForEach-Object {$ _. CreationTime = ("3 августа 2019 17:00:00")} Get-ChildItem -force d: \ test \ * | Где-Объект {! $ _. PSIsContainer} | ForEach-Object {$ _. LastWriteTime = ("3 августа 2019 17:10:00")} Get-ChildItem -force d: \ test \ * | Где-Объект {! $ _. PSIsContainer} | ForEach-Object {$ _. LastAccessTime = ("3 августа 2019 17:10:00")} 

Изменить дату / время последней записи «Папки»

 (Get-Item "D: \ Test \"). LastWriteTime = ("3 августа 2019 г. 17:00:00") 

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

Чтобы просмотреть дату изменения, дату создания и дату последней записи данных для всех файлов в папке, используйте следующий синтаксис командной строки:

 Get-ChildItem -force "D: \ Test \" | Имя выбранного объекта, CreationTime, LastWriteTime, LastAccessTime 

(или же)

 foreach ($ objFile в Get-ChildItem "D: \ Test \ *. *") '+ $ objFile.LastWriteTime +' 

Вы увидите такой вывод:

 "log1.txt" | 08.03.2009 17:00:00 | 03.08.2009 17:10:00 | 03.08.2009 17:10:00 "log2.txt" | 08.03.2009 17:00:00 | 03.08.2009 17:10:00 | 03.08.2009 17:10:00 "log3.txt" | 08.03.2009 17:00:00 | 03.08.2009 17:10:00 | 03.08.2009 17:10:00 "log4.txt" | 08.03.2009 17:00:00 | 03.08.2009 17:10:00 | 03.08.2009 17:10:00 


Использование NirCmd от Nirsoft

Используя NirCmd, многоцелевой инструмент командной строки от Nirsoft.net, вы можете изменить дату и время файла.

Вот синтаксис командной строки для изменения метки времени файла с помощью NirCmd:

 nircmd.exe setfiletime [имя файла или подстановочный знак] [Дата создания] {Дата изменения} {Дата доступа} 
  • Первый параметр может быть одним именем файла или строкой подстановки.
  • Параметры даты должны быть указаны в следующем формате: «дд-мм-гггг чч: мм: сс», если параметр даты не указан или вы указываете пустую строку («»), дата не будет изменена.
  • Если вы укажете "now" в качестве параметра даты, будут использоваться текущие дата и время.

Примеры

 nircmd.exe setfiletime "d: \ test \ log1.txt" "08.03.2009 17:00:00" "" "08.03.2009 17:10:00" nircmd.exe setfiletime "d: \ test \ log2.txt "сейчас сейчас сейчас nircmd.exe setfiletime" d: \ test \ log3.txt "сейчас" "сейчас nircmd.exe setfiletime" d: \ test \ log4.txt "" 08.03.2009 17:00:00 "" 08.03.2009 17:10:00 "сейчас 

Чтобы изменить метку времени всех текстовых файлов в папке, вот синтаксис командной строки:

 nircmd.exe setfiletime "d: \ test \ *. txt" "08.03.2009 17:00:00" "08.03.2009 17:10:00" "08.03.2009 17:10:00" 

Использование BulkFileChanger от Nirsoft

BulkFileChanger - это еще один полезный инструмент от Nirsoft.net, который может изменять время создания, изменения или обращения к одному или нескольким файлам. Он также может массово изменять атрибуты файла (только для чтения, скрытый, системный).

Запустите BulkFileChanger и добавьте в него файлы. При добавлении файлов в список вы можете по желанию добавить файлы в подпапки, а также соответственно установить уровень рекурсии.

Выберите все файлы и нажмите « Изменить время / атрибуты» в меню « Действие» .

$config[ads_text6] not found

Возможно, вы захотите снять отметку с времени, указанного в GMT, сначала, поскольку большинство из нас предпочитает вводить местное время, а не GMT.

Введите дату / время создания, изменения или доступа. Чтобы заполнить текущее время во всех полях, нажмите кнопку « Заполнить текущее время» ниже.

Для изображений, снятых с камеры, поле EXIF ​​или метаданных содержит поле « Дата получения», которое отделено от данных, измененных / созданных в NTFS. Вы можете просмотреть данные EXIF ​​из свойств файла JPG или с помощью утилиты ExifDataView из Nirsoft.net.

Тем не менее, BulkFileChanger также позволяет изменять метку времени создания даты (метаданные EXIF). Чтобы изменить метаданные даты, нажмите кнопку « Без изменений» и выберите соответствующий параметр.

EXIF - время генерации соответствует метаданным даты взятия, и это поле отображается под столбцом даты в проводнике. Кроме того, многие программы используют это значение в качестве официальной даты / времени изображения.

Обратите внимание, что вы можете изменить дату EXIF ​​изображения камеры, только если значения даты / времени уже существуют в файлах .jpg. BulkFileChanger не может добавлять новые поля в данные EXIF.

Кроме того, вы также можете скопировать метку времени из «Изменено», «Создано», «Доступ», «ВЫХОД» - «Время генерации», «ВЫХОД» - «Сохраненное время» или «ВЫХОД» - «Измененное время» и автоматически применить ее к другим полям даты.

Поддержка командной строки

BulkFileChanger также поддерживает операции командной строки, поэтому вам не нужно каждый раз открывать графический интерфейс. Посетите домашнюю страницу BulkFileChanger для получения справки из командной строки / списка поддерживаемых аргументов.

ПОХОЖИЕ СТАТЬИ