web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / Extract exif data from...
Power Automate
Answered

Extract exif data from image with Power Automate Desktop

(0) ShareShare
ReportReport
Posted on by 29

Hello, I want to extract extract exif data (ISO, Keywords, shutter speed, Date taken, software, etc.) from a JPG that is stored on my PC. I already used the "Get Files from Folder", but that just provides the general properties data. I want to get the details in properties, which contain the exif data. Any ideas? Thanks!

I have the same question (0)
  • VJR Profile Picture
    7,635 on at

    Hi @Fuji98 

    These details will have to be retrieved by an external scripting program like vbs, powershell, python or any other.

    Here is one in Vbscript.

     

    Set the folder path as you would like to. 

    VJR_0-1669805187054.png

     

    On running the script, the output variable will have all the metadata details of the image.

    The ones that are blank are absent for my image.

    VJR_1-1669805306015.png

     

    There are 321 metadata properties that will be retrieved.

    You can choose the ones you want by adding an If condition within the vbscript using the below numbers.

     

     0 Name
     1 Size
     2 Item type
     3 Date modified
     4 Date created
     5 Date accessed
     6 Attributes
     7 Offline status
     8 Availability
     9 Perceived type
     10 Owner
     11 Kind
     12 Date taken
     13 Contributing artists
     14 Album
     15 Year
     16 Genre
     17 Conductors
     18 Tags
     19 Rating
     20 Authors
     21 Title
     22 Subject
     23 Categories
     24 Comments
     25 Copyright
     26 #
     27 Length
     28 Bit rate
     29 Protected
     30 Camera model
     31 Dimensions
     32 Camera maker
     33 Company
     34 File description
     35 Masters keywords
     36 Masters keywords
     42 Program name
     43 Duration
     44 Is online
     45 Is recurring
     46 Location
     47 Optional attendee addresses
     48 Optional attendees
     49 Organizer address
     50 Organizer name
     51 Reminder time
     52 Required attendee addresses
     53 Required attendees
     54 Resources
     55 Meeting status
     56 Free/busy status
     57 Total size
     58 Account name
     60 Task status
     61 Computer
     62 Anniversary
     63 Assistant's name
     64 Assistant's phone
     65 Birthday
     66 Business address
     67 Business city
     68 Business country/region
     69 Business P.O. box
     70 Business postal code
     71 Business state or province
     72 Business street
     73 Business fax
     74 Business home page
     75 Business phone
     76 Callback number
     77 Car phone
     78 Children
     79 Company main phone
     80 Department
     81 E-mail address
     82 E-mail2
     83 E-mail3
     84 E-mail list
     85 E-mail display name
     86 File as
     87 First name
     88 Full name
     89 Gender
     90 Given name
     91 Hobbies
     92 Home address
     93 Home city
     94 Home country/region
     95 Home P.O. box
     96 Home postal code
     97 Home state or province
     98 Home street
     99 Home fax
    100 Home phone
    101 IM addresses
    102 Initials
    103 Job title
    104 Label
    105 Last name
    106 Mailing address
    107 Middle name
    108 Cell phone
    109 Nickname
    110 Office location
    111 Other address
    112 Other city
    113 Other country/region
    114 Other P.O. box
    115 Other postal code
    116 Other state or province
    117 Other street
    118 Pager
    119 Personal title
    120 City
    121 Country/region
    122 P.O. box
    123 Postal code
    124 State or province
    125 Street
    126 Primary e-mail
    127 Primary phone
    128 Profession
    129 Spouse/Partner
    130 Suffix
    131 TTY/TTD phone
    132 Telex
    133 Webpage
    134 Content status
    135 Content type
    136 Date acquired
    137 Date archived
    138 Date completed
    139 Device category
    140 Connected
    141 Discovery method
    142 Friendly name
    143 Local computer
    144 Manufacturer
    145 Model
    146 Paired
    147 Classification
    148 Status
    149 Status
    150 Client ID
    151 Contributors
    152 Content created
    153 Last printed
    154 Date last saved
    155 Division
    156 Document ID
    157 Pages
    158 Slides
    159 Total editing time
    160 Word count
    161 Due date
    162 End date
    163 File count
    164 File extension
    165 Filename
    166 File version
    167 Flag color
    168 Flag status
    169 Space free
    172 Group
    173 Sharing type
    174 Bit depth
    175 Horizontal resolution
    176 Width
    177 Vertical resolution
    178 Height
    179 Importance
    180 Is attachment
    181 Is deleted
    182 Encryption status
    183 Has flag
    184 Is completed
    185 Incomplete
    186 Read status
    187 Shared
    188 Creators
    189 Date
    190 Folder name
    191 Folder path
    192 Folder
    193 Participants
    194 Path
    195 By location
    196 Type
    197 Contact names
    198 Entry type
    199 Language
    200 Date visited
    201 Description
    202 Link status
    203 Link target
    204 URL
    208 Media created
    209 Date released
    210 Encoded by
    211 Episode number
    212 Producers
    213 Publisher
    214 Season number
    215 Subtitle
    216 User web URL
    217 Writers
    219 Attachments
    220 Bcc addresses
    221 Bcc
    222 Cc addresses
    223 Cc
    224 Conversation ID
    225 Date received
    226 Date sent
    227 From addresses
    228 From
    229 Has attachments
    230 Sender address
    231 Sender name
    232 Store
    233 To addresses
    234 To do title
    235 To
    236 Mileage
    237 Album artist
    238 Sort album artist
    239 Album ID
    240 Sort album
    241 Sort contributing artists
    242 Beats-per-minute
    243 Composers
    244 Sort composer
    245 Disc
    246 Initial key
    247 Part of a compilation
    248 Mood
    249 Part of set
    250 Period
    251 Color
    252 Parental rating
    253 Parental rating reason
    254 Space used
    255 EXIF version
    256 Event
    257 Exposure bias
    258 Exposure program
    259 Exposure time
    260 F-stop
    261 Flash mode
    262 Focal length
    263 35mm focal length
    264 ISO speed
    265 Lens maker
    266 Lens model
    267 Light source
    268 Max aperture
    269 Metering mode
    270 Orientation
    271 People
    272 Program mode
    273 Saturation
    274 Subject distance
    275 White balance
    276 Priority
    277 Project
    278 Channel number
    279 Episode name
    280 Closed captioning
    281 Rerun
    282 SAP
    283 Broadcast date
    284 Program description
    285 Recording time
    286 Station call sign
    287 Station name
    288 Summary
    289 Snippets
    290 Auto summary
    291 Relevance
    292 File ownership
    293 Sensitivity
    294 Shared with
    295 Sharing status
    297 Product name
    298 Product version
    299 Support link
    300 Source
    301 Start date
    302 Sharing
    303 Availability status
    304 Status
    305 Billing information
    306 Complete
    307 Task owner
    308 Sort title
    309 Total file size
    310 Legal trademarks
    311 Video compression
    312 Directors
    313 Data rate
    314 Frame height
    315 Frame rate
    316 Frame width
    317 Spherical
    318 Stereo
    319 Video orientation
    320 Total bitrate

     

    Run Vbscript action:

    Dim oAppShell, oFolder, output,i
     
     Set objFso = CreateObject("Scripting.FileSystemObject")
     Set oAppShell = CreateObject("Shell.Application")
     
     varFolderPath = "%FolderPath%"
     Set oFolder = oAppShell.Namespace(varFolderPath)
     
     For Each oItem In oFolder.Items 
     For i = 0 To 320
     output = output & oFolder.GetDetailsOf(, i) & " - " & oFolder.GetDetailsOf(oItem, i) & vbNewLine
     Next 
     output = output & "------------------------------" & vbNewLine
     Next
     
     WScript.Echo output

     

     

     

  • Fuji98 Profile Picture
    29 on at

    @VJR This was excatly what I was looking for and it works fine! Thank you SO much for this! 

    Two more questions:

    Is there also a way to get not a whole folder but just a specific file inside the folder?

    And how can I choose which exact metadata properties I want? For example if I want just 1 and 72.. how I'm gonna do that? Sorry, I've never done anything in VBScript, dont know what to do with the "If" Condition. Thanks!

  • Verified answer
    VJR Profile Picture
    7,635 on at

    For individual image file and specific records copy paste the below code into a blank Flow editor.

    Change the file path in the Set variable (first line).

    Run the Flow to see the output.

    SET FullFilePath TO $'''D:\\Test\\P1000231.JPG'''
    File.GetPathPart File: FullFilePath Directory=> Directory FileName=> FileName
    Scripting.RunVBScript VBScriptCode: $'''Dim oAppShell, oFolder, output,i
     
     Set objFso = CreateObject(\"Scripting.FileSystemObject\")
     Set oAppShell = CreateObject(\"Shell.Application\")
     
     varFolderPath = \"%Directory%\"
     Set oFolder = oAppShell.Namespace(varFolderPath)
     
     
     File = \"%FileName%\"
     output = oFolder.GetDetailsOf(oFolder.items.Item(File),0) & \"|\"
     output = output & oFolder.GetDetailsOf(oFolder.items.Item(File),1) & \"|\" 
     output = output & oFolder.GetDetailsOf(oFolder.items.Item(File),30) & \"|\" 
     output = output & oFolder.GetDetailsOf(oFolder.items.Item(File),32) 
     
     WScript.Echo output''' ScriptOutput=> VBScriptOutput
    Text.SplitText.SplitWithDelimiter Text: VBScriptOutput CustomDelimiter: $'''|''' IsRegEx: False Result=> TextList
    Display.ShowMessageDialog.ShowMessage Message: $'''The camera model is: %TextList[2]%''' Icon: Display.Icon.None Buttons: Display.Buttons.OK DefaultButton: Display.DefaultButton.Button1 IsTopMost: False ButtonPressed=> ButtonPressed
    

     

    The yellow highlighted are the ones where you give the numbers.

    Example of 4 different numbers. Add the ones you need and remove others.

    Note that the pipe | symbol is not appended to the last one in line no. 14. (use of pipe explained below)

     

    VJR_0-1669867250805.png

     

     

    The idea is to produce a text output variable separated by a pipe | delimiter.

    VJR_1-1669867335081.png

     

    And then split using the delimiter. This will give a List variable for each of those numbers

    VJR_2-1669867383458.png

    Access the individual elements using the notation for instance as %TextList[2]% 

     

    VJR_3-1669867472950.png

     

     

    (You can even create a customised vbscript function where you just pass the image path and only a single number from PAD and it will return the value of that number. This function can then be called again and again for different numbers in each call.)

  • Fuji98 Profile Picture
    29 on at

    @VJR This works just perfect. Excatly what I wanted. Thank you so much for this, I'm really thankful. 😊

     

    Btw: How I'm gonna select now just specific data like:

     File = \"%FileName%\"
     output = oFolder.GetDetailsOf(oFolder.items.Item(File),0) & \"|\"
     output = output & oFolder.GetDetailsOf(oFolder.items.Item(File),1) & \"|\" 
     output = output & oFolder.GetDetailsOf(oFolder.items.Item(File),30) & \"|\" 
     output = output & oFolder.GetDetailsOf(oFolder.items.Item(File),32) 

     in the first script that pulls data for EVERY file in the folder? I tried to merge these scripts together so that it will pull just specific metadata out ot every file in the folder but I can't get this to work. As I said, I have really no idea of VBscript. I would be so glad if you can help out, one more time. Thanks

  • VJR Profile Picture
    7,635 on at

    You wanted for specific file so I had shared that.

     

    In the first script, remove as below, keep all else as it is.

     

    For Each oItem In oFolder.Items

    For i = 0 To 320
    output = output & oFolder.GetDetailsOf(, i) & " - " & oFolder.GetDetailsOf(oItem, i) & vbNewLine

     

     

    output = oFolder.GetDetailsOf(oFolder.items.Item(File),0) & \"|\"
    output = output & oFolder.GetDetailsOf(oFolder.items.Item(File),1) & \"|\"
    output = output & oFolder.GetDetailsOf(oFolder.items.Item(File),30) & \"|\"
    output = output & oFolder.GetDetailsOf(oFolder.items.Item(File),32)


    Next


    output = output & "------------------------------" & vbNewLine
    Next

     

    I am directly making the code changes here, so haven't tested it.

  • Fuji98 Profile Picture
    29 on at

    Yes, I wanted it for specific file, that was absolutely right. Just wondered how it would look like for the whole folder. You've done an amazing job, thank you for this.

  • Matze7 Profile Picture
    7 on at

    Hi folks,

     

    I experience something strange. This is my code:

    Dim oAppShell, oFolder, output,i
     
     Set objFso = CreateObject("Scripting.FileSystemObject")
     Set oAppShell = CreateObject("Shell.Application")
     
     varFolderPath = "%Directory%"
     Set oFolder = oAppShell.Namespace(varFolderPath)
     
     
     File = "%FileName%"
    
    one = oFolder.GetDetailsOf(oFolder.items.Item(File),0) & "|"
    two = oFolder.GetDetailsOf(oFolder.items.Item(File),1) & "|"
    three = oFolder.GetDetailsOf(oFolder.items.Item(File),12) & "|"
    four = oFolder.GetDetailsOf(oFolder.items.Item(File),4)
    
    if three = "" then three = %dummy%
    
    output= one & two & three & four & vbNewLine
    
     WScript.Echo output

    and this is my VBScriptOutput:

    Matze7_0-1700326899038.png

    So far all looks fine, but when checking carefully this part:

    20.<u+200e>12.<u+200e>2020 <u+200f><u+200e>11:07 (which is the date take of a photo, the length of this part is 20 char, but 16 are only visible! Try it, place the cursor to the left and move one by one and count. There is something invisible inside, which I cannot identify. Any idea or even a solution how to get rid of this?

     nbsp;.<u+200e>2020 <u

    I experience this only with the 'date taken' value, not with the creation date:
    23.01.2022 16:51

     

    Many thanks!

  • SheMarsman Profile Picture
    5 on at

    Thank you for this VJR. This is exactly what I'm looking for right now. Great Job! 😊

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Leaderboard > Power Automate

#1
Haque Profile Picture

Haque 557

#2
Valantis Profile Picture

Valantis 328

#3
David_MA Profile Picture

David_MA 264 Super User 2026 Season 1

Last 30 days Overall leaderboard