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')}
Обратите внимание, что указанная выше команда изменяет метку времени для каждого файла и подпапки в папке. Чтобы применить изменение только к файлам (т.е. исключить подпапки), используйте этот синтаксис:
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.Name +' '
Вы увидите такой результат:
'log1.txt' | 03.08.2019 17:00:00 | 03.08.2019 17:10:00 | 03.08.2019 17:10:00 'log2.txt' | 03.08.2019 17:00:00 | 03.08.2019 17:10:00 | 03.08.2019 17:10:00 'log3.txt' | 03.08.2019 17:00:00 | 03.08.2019 17:10:00 | 03.08.2019 17:10:00 'log4.txt' | 03.08.2019 17:00:00 | 03.08.2019 17:10:00 | 03.08.2019 17:10:00
Использование NirCmd от Nirsoft
С помощью NirCmd , многоцелевой инструмент командной строки от Nirsoft.net, вы можете изменить дату и время файла.
Вот синтаксис командной строки для изменения метки времени файла с помощью NirCmd:
nircmd.exe setfiletime [имя файла или подстановочный знак] [Дата создания] {Дата изменения} {Дата доступа}
- Первый параметр может быть одним именем файла или строкой с подстановочными знаками.
- Параметры даты должны быть указаны в следующем формате: «дд-мм-гггг чч: мм: сс», если параметр даты не указан или вы указываете пустую строку («»), дата не изменится.
- Если вы укажете
'в настоящее время'
в качестве параметра даты будут использоваться текущая дата и время.
Примеры
nircmd.exe setfiletime 'd: test log1.txt' '08/03/2019 17:00:00' '' 08/03/2019 17:10:00 'nircmd.exe setfiletime' d: test log2.txt 'сейчас сейчас сейчас nircmd.exe setfiletime' d: test log3.txt 'now' 'сейчас nircmd.exe setfiletime' d: test log4.txt '' 08/03/2019 17:00:00 '' 08.03.2019 17:10:00 'сейчас
Чтобы изменить метку времени всех текстовых файлов в папке, воспользуйтесь синтаксисом командной строки:
nircmd.exe setfiletime 'd: test *. txt' '08/03/2019 17:00:00' '08/03/2019 17:10:00' '08/03/2019 17:10:00'
Использование BulkFileChanger от Nirsoft
BulkFileChanger еще один полезный инструмент от Nirsoft.net, который может изменять время создания, изменения или доступа к одному или нескольким файлам. Он также может изменять атрибуты файла (только чтение, скрытый, системный) много .
Запустите BulkFileChanger и добавьте в него файлы. При добавлении файлов в список вы можете дополнительно выбрать добавление файлов в подпапки, а также соответствующим образом установить уровень рекурсии.
Выберите все файлы и нажмите Изменить время / атрибуты из Действие меню.
Вы можете снять флажок Время указано в GMT во-первых, поскольку большинство из нас предпочитает вводить местное время, а не GMT.
Введите дату / время создания, изменения или доступа. Чтобы заполнить текущее время во всех полях, нажмите на Заполнить текущее время Кнопка ниже.
Для изображений, снятых с камеры, EXIF или поле метаданных содержат Выбранная дата поле, которое отделено от даты изменения / создания данных NTFS. Вы можете просмотреть данные EXIF в свойствах файла JPG или с помощью ExifDataView утилита от Nirsoft.net.
Тем не менее, BulkFileChanger также позволяет вам изменять Выбранная дата отметка времени (метаданные EXIF). Чтобы изменить метаданные даты, щелкните значок Без изменений кнопку и выберите соответствующий вариант.
В EXIF - созданное время соответствует метаданным 'Дата съемки', и это поле отображается под Свидание столбец проводника. Кроме того, многие программы используют это значение как официальную дату / время изображения.
Обратите внимание, что вы можете изменить дату EXIF изображения с камеры, только если значения даты и времени уже существуют в файлах .jpg. BulkFileChanger не может добавлять новые поля в данные EXIF.
И, при желании, вы также можете скопировать метку времени из «Изменено», «Создано», «Доступно», «EXIT» - «Время создания», «EXIT -« Сохраненное время »или« EXIT - «Время изменения» и автоматически применить ее к другим полям даты.
Поддержка командной строки
BulkFileChanger также поддерживает операции командной строки, поэтому вам не нужно каждый раз открывать графический интерфейс. Проверять, выписываться BulkFileChanger домашняя страница для справки командной строки / список поддерживаемых аргументов.
Одна небольшая просьба: если вам понравился этот пост, поделитесь им?
Одна «крошечная» публикация от вас серьезно помогла бы росту этого блога. Несколько отличных предложений:- Приколи это!
- Поделитесь этим в своем любимом блоге + Facebook, Reddit
- Напишите об этом в Твиттере!