I like my music in artist folders so I created this little VB Script to move music albums into single folders.
It takes a folder full of albums in the format “Artist – Album” and creates a folder for each artist, then moves the Albums into that folder.
For example if you have a folder C:\Music and sub folders in the format “Artist – Album” like below:
C:\Music\Artist1 – Album1
C:\Music\Artist1 – Album2
C:\Music\Artist2 – Album1
It will turn it into:
C:\Music\Artist1\Artits1 – Album1
C:\Music\Artist1\Artist1 – Album2
C:\Music\Artits2\Artits2 – Album1
Just copy the below code into a text file, rename it something like “music mover.vbs” put it in your root music directory (C:\Music\ in my example) and run it. Your music should now be in folders by artist.
Dim fso, folderObj, folders, outputFile, currentDir, newFolder, dashPos, folderName Set fso = CreateObject("Scripting.FileSystemObject") currentDir = fso.GetAbsolutePathName(".") + "\" Set outputFile = fso.CreateTextFile(currentDir&"\FileList.txt", True) 'file for loging things Set folderObj = fso.GetFolder(currentDir) Set folders = folderObj.SubFolders For each folderIdx In folders newFolder = "" dashPos = InStr(folderIdx.Name, "-") folderName = currentDir + folderIdx.Name if dashPos <> 0 then 'we found a dash in the folder name (asuming that there are no artists or albums with dashes in their names the format is Artist - Album) newFolder = currentDir + Trim(Left(folderIdx.Name, dashPos-1)) if not fso.FolderExists(newFolder) then fso.CreateFolder(newFolder) outputFile.WriteLine("Created new folder (" + Trim(Left(folderIdx.Name, dashPos-1)) + ")") else outputFile.WriteLine("Folder already exists (" + Trim(Left(folderIdx.Name, dashPos-1)) + ")") End If outputFile.WriteLine(" - Added (" + folderIdx.Name + ")") Call fso.MoveFolder(folderName, newFolder + "\\") End If Next outputFile.Close
If I feel like it I might write a script that does the opposite, takes Music\Artist\Artist – Album and moves them to Music\Artist – Album.