#windows #powershell
#Windows #powershell
Вопрос:
Мне нужно переименовать все изображения в папке, добавив самую первую дату и время создания.
Я нашел несколько примеров, которые позволяют мне добавлять дату создания, дату последней записи и т. Д. Но мне нужны дата и время, когда фотографии были фактически сняты, это значение, которое вы обычно можете видеть в столбце «Дата» в проводнике Windows, то есть столбец, выделенный на картинке (извините, итальянская версия Windows):
Лучший код, который я нашел, выглядит следующим образом:
Get-ChildItem -path "./" -recurse -include @("*.jpg") |
rename-item -newname { $_.name -replace "IMG",($_.CreationDate.toString("yyyyMMddHHmmss"))}
Но это добавит дату создания, то есть дату и время, когда я скопировал файлы в другую папку. Вместо этого, как уже было сказано, мне нужны дата и время, когда фотографии были фактически сняты.
Заранее спасибо за вашу помощь
Комментарии:
1. Либо вы определяете EXIF-данные изображений , либо вам придется перейти к
LastWriteTime
файлам. Обычно это время первоначального создания файла, если с тех пор вы его не редактировали.2. обратите внимание, что не все изображения имеют теги EXIF… некоторые люди считают, что это риск для безопасности, например, предоставлять слишком много информации
3. @Ctznkane525 … хммм … В данный момент я не ношу свою «Шляпу из фольги», но я предположил, что речь идет о его собственных фотографиях. 😉
4. @Olaf да, я отредактировал большую часть файлов, но я хочу сохранить их в том порядке, в котором я изначально делал снимки
5. Поэтому вам придется использовать метаданные файлов. Если я не ошибаюсь, в Powershell нет встроенного командлета или функции для извлечения такого рода информации. Вам нужно будет найти некоторые или создать их самостоятельно. Поиск в powersellgallery — в основном вы не первый, кто с чем-то борется. 😉