hi there megomaster,
here is an autohotkey script that together with the freeware command-line tool Tag might do what you want done (if I understand you correctly that is).
To set it up you need to:
1. get and install
http://www.autohotkey.com/download/ (free)
2. copy the script source below into a textfile and save it as "batch copy to artist_album folder structure.ahk"
3. compile that file into "batch copy to artist_album folder structure.exe" (to compile, right click it and choose "compile script" -- this requires that autohotkey is installed)
4. get and unzip Tag
http://synthetic-soul.co.uk/tag/ (free)
To run it you need to:
1. put "tag.exe" and "batch copy to artist_album folder structure.exe" in the same folder
2. drag and drop any mp3 onto "batch copy to artist_album folder structure.exe"
What it does:
The script looks up the album and artist ID3 tags and (if both are found) copies the file according to this format:
scriptfolder\artist\album\file.mp3
You can drop multiple files and folders with files onto the script and it will check and copy them one by one.
(I haven't tested it very much so you are advised to testdrive it a bit before dropping a thousand files onto it at once or something like that)
;batch copy to artistname\albumname\file.mp3 folder structure
xtemp = %A_Temp%\%A_now%.txt
Loop, %0% ; For each dropped file
{
xx := %A_Index%
xvar =
xartist1 =
xalbum1 =
runwait %comspec% /c "tag "%xx%" --simple --tofilen "%xtemp%"",%A_ScriptDir%,min ;get ID3 tags with Tag.exe
FileRead, xvar, %xtemp%
RegExMatch(xvar, "Artist=(.*)",xartist)
RegExMatch(xvar, "Album=(.*)",xalbum)
; remove characters that are illegal in windows folder/file names: \ / : * ? " < > |
xartist1 := RegExReplace(xartist1,"(?:\\|/|:|\*|\?|""|<|>|\|)","")
xalbum1 := RegExReplace(xalbum1,"(?:\\|/|:|\*|\?|""|<|>|\|)","")
if xartist1
if xalbum1
{
FileCreateDir, %A_ScriptDir%\%xartist1%\%xalbum1%
ifExist, %A_ScriptDir%\%xartist1%\%xalbum1%
FileCopy, %xx%, %A_ScriptDir%\%xartist1%\%xalbum1%
else
{
sleep, 500
ifExist, %A_ScriptDir%\%xartist1%\%xalbum1%
FileCopy, %xx%, %A_ScriptDir%\%xartist1%\%xalbum1%
}
}
FileDelete, %xtemp%
}
exitapp
If you have use for the script feel free to donate some small amount to support this great site:
https://www.donation...om/Donate/index.html