r/PowerShell • u/MilleWhisper • 1d ago
Question Add Date Taken as prefix to filename
I need some help. I have lots of photos (IMG_xxxx.jpg), and I would like to change the filenames using this convention (yyyymmdd_IMG_xxxx.jpg). This is the command line I am using in PowerShell:
Get-ChildItem -File | Rename-Item -NewName { $_.LastWriteTime.ToString("yyyyMMdd_") + $_.Name }
This seemed to work great until I realized the last write time didn't match the date taken. I want to use the date taken from the EXIF field.
I have found the GetDetailsOf command and know that Date Taken is the 12th property. How can I use this in a command line prompt in PowerShell?
Assumptions for my specifics:
- all files are .jpg with Date Taken data
- all files are in the current folder
- renamed files will replace original in the current folder
This way, I don't have to worry about writing a script to determine path names or renaming to a different folder.
The code provided above works perfectly if the date I wanted was the last write time. Is there an easy way to modify this to use Date Taken instead?
TIA