У меня есть куча .jpg
файлов, сохраненных в разных папках с ложной отметкой времени в имени файла (задержка 1 час), и я хочу исправить это в соответствии со временем создания. Цель этого - получить один лист CSV, содержащий все исправленные имена файлов с полным путем.
Сейчас я пытаюсь написать сценарий PowerShell, который может пройти через все папки, извлечь время создания и заменить его в именах файлов ложной отметкой времени. Ниже небольшой пример:
Исходное имя файла с ложной отметкой времени:
Filename, Created Date, Modified Date
20180524010500530_FR785101.jpg, 2018-05-24 00:05:00, 2018-05-24 00:05:34
Правильный вывод будет:
Filename, Created Date, Modified Date
20180524000500530_FR785101.jpg, 2018-05-24 00:05:00, 2018-05-24 00:05:34
Я начал документировать себя с помощью команды CreationTime
, но я все еще не могу понять, как я могу извлечь время создания и заменить его на временную метку имени файла. Кроме того, я не знаю, как заставить скрипт запускаться через все папки и подпапки, содержащие файлы изображений, чтобы наконец экспортировать все в лист CSV.
Get-ChildItem -Path "c:/path/to/files/" -Recurse -Include @("*.jpg") |
Rename-Item -NewName {
$_.Name -replace "IMG", ($_.CreationTime.ToString("yyyyMMdd"))
}
ОБНОВЛЕНИЕ:
Окончательный вывод .csv
, который я хотел бы получить, выглядит следующим образом:
File path, date time, name
path_of_file, Timestamp, Name
C:_users_mind_volume, 20180524000500530, FR785101