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

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

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

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

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

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

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

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

(Get-Item "D:\Test\log1.txt").CreationTime=("3 August 2019 17:00:00")

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

(Get-Item "D:\Test\log1.txt").LastWriteTime=("3 August 2019 17:10:00")

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

(Get-Item "D:\Test\log1.txt").LastAccessTime=("3 August 2019 17:10:00")

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

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

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

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

Get-ChildItem -force d:\test\ * | Where-Object {! $_.PSIsContainer} | ForEach-Object{$_.CreationTime = ("3 August 2019 17:00:00")}
Get-ChildItem -force d:\test\ * | Where-Object {! $_.PSIsContainer} | ForEach-Object{$_.LastWriteTime = ("3 August 2019 17:10:00")}
Get-ChildItem -force d:\test\ * | Where-Object {! $_.PSIsContainer} | ForEach-Object{$_.LastAccessTime = ("3 August 2019 17:10:00")}

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

(Get-Item "D:\Test\").LastWriteTime=("3 August 2019 17:00:00")

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

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

Get-ChildItem -force "D:\Test\"  | Select-Object Name, CreationTime, LastWriteTime, LastAccessTime

(или)

foreach ($objFile in Get-ChildItem "D:\Test\*.*") { '"' + $objFile.Name + '" | ' + $objFile.CreationTime + ' | ' + $objFile.LastWriteTime + ' | ' + $objFile.LastAccessTime}

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

"log1.txt" | 08/03/2019 17:00:00 | 08/03/2019 17:10:00 | 08/03/2019 17:10:00
"log2.txt" | 08/03/2019 17:00:00 | 08/03/2019 17:10:00 | 08/03/2019 17:10:00
"log3.txt" | 08/03/2019 17:00:00 | 08/03/2019 17:10:00 | 08/03/2019 17:10:00
"log4.txt" | 08/03/2019 17:00:00 | 08/03/2019 17:10:00 | 08/03/2019 17:10:00

изменить дату или время последнего изменения файла с помощью powershell

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

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

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

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

Примеры

nircmd.exe setfiletime "d:\test\log1.txt" "03/08/2019 17:00:00" "" "03/08/2019 17:10:00"
nircmd.exe setfiletime "d:\test\log2.txt" now now now
nircmd.exe setfiletime "d:\test\log3.txt" now "" now
nircmd.exe setfiletime "d:\test\log4.txt" "03/08/2019 17:00:00" "03/08/2019 17:10:00" now

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

nircmd.exe setfiletime "d:\test\*.txt" "03/08/2019 17:00:00" "03/08/2019 17:10:00" "03/08/2019 17:10:00"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ссылка на основную публикацию
Adblock
detector