After a recent post about a VBScript written by Jeff Story at that removes duplicate songs from iTunes for you I decided to use some of his code, modify it, and add some of my own and put it into a GUI. It is written in Visual Basic and requires you have the .NET framework installed on your machine, which I would advise anyone to have since there are a lot of applications that use this framework. Chances are you probably already have a version of this framework installed on your machine. If you don’t, as part of the installation of the iTunes Tools it will install any framework files for you.

Here is what the GUI looks like:

The application not only will check your iTunes library for duplicate entries and then remove the duplicate based on a few decisions. It will keep the newest, largest or highest quality entry. It will also look for any entries in iTunes that don’t have a matching file on your system. These entries would show up in iTunes with a ‘!’ icon next to them meaning that it doesn’t know where the file is. One last thing that I found useful is that you can select your Music directory where you rip, download or save your files for iTunes. The application will match all songs in your library to the files in the directory you choose. Any files that don’t already have an entry in iTunes will be added to iTunes. This helps ‘sync’ your music directory with iTunes without having to pick files to add or adding an entire folder (which leads to duplicate entries).

Please let me know if you find errors or suggestions of any kind, as well as if you like how it works or not. I am thinking about making an updated version that will give you the option to run this on a time interval so that it will sync and remove dupes say every hour or every fifteen minutes.

I also have a SourceForge project opened for this. I will be posting the source code for this as well once I clean up and comment the code. You can download the application here, iTunes Tools, or you can get it off of my downloads page.