How to get all file attributes including author, title, mp3 tags, etc, in one sweep

12,136

Solution 1

In Perl, you can use MP3::Tag or MP3::Info

Solution 2

If you can cope w/ VB.Net: http://www.codeproject.com/KB/vb/mp3id3v1.aspx

If you can cope w/ C++/.Net: http://www.codeproject.com/KB/audio-video/mp3fileinfo.aspx

For either (assuming the C++) is compiled to .Net, you can use Reflector to disassemble the binary and convert it to C#. Check w/ the respective authors about their licenses first (usually Code Project articles are under an open license like CPOL).

Solution 3

In a library? Try libextractor if your software is GPL.

Solution 4

Ok, after the clarification edits, I would suggest looking at the introspection available in .Net. I will warn you however that I think you will get more satisfying results if you forgo introspection and define the specific properties that you want for the file types that you expect to see.

Since scripting is valid, then if this were my problem to solve I would use Powershell since the .net introspection is baked in.

Share:
12,136
Notitze
Author by

Notitze

Updated on June 04, 2022

Comments

  • Notitze
    Notitze almost 2 years

    I would like to write all meta data (including advanced summary properties) for my files in a windows folder to a csv file. Is there a way to collect all the attributes? I see mp3 files have a different set of attributes compared to jpg files. (c#)

    This can also be a script (vb, perl)

    Update: by looking at libextractor (thank you) I can see this can be achieved by writing different plugins for different type of files. I gather this meta data is not a simple collection...

    • EBGreen
      EBGreen over 15 years
      I very nearly answered with this: "I'll answer with the same level of detail. Write a function." but I decided that would be snarky.
    • EBGreen
      EBGreen over 15 years
      I think it's the etc. part that would need clarification. If the OP expects someone to give a specific solution then specific requirements would be necessary.