You cannot easily extract the track length from Windows cmd, but crawling through all directories and putting out all files is trivial. Assuming %artist%\%album%\%tracks% structure:
for /D %a in (*) do echo ******* >> tracks.out && echo %a >> tracks.out && echo ******* >> tracks.out&& for /D %b in ("%a"/*) do echo ------- >> tracks.out && echo %b >> tracks.out && echo ------- >> tracks.out && for %c in ("%a"/"%b"/*.flac) do echo %~nc >> tracks.out
Sample output:
*******
A Perfect Circle
*******
-------
2000 - 3 Libras
-------
01 - 3 Libras
02 - Magdalena (Live)
03 - 3 Libras (Remix)
04 - Judith (Live)
05 - 3 Libras (Live)
-------
2000 - Mer De Noms
-------
01 - The Hollow
02 - Magdalena
03 - Rose
04 - Judith
05 - Orestes
06 - 3 Libras
07 - Sleeping Beauty
08 - Thomas
09 - Renhold‰r
10 - Thinking of You
11 - Bre¤a
12 - Over
I just noticed that apparently cmd redirection fails miserably on Unicode strings.
EDIT: Even starting a cmd with /U does print garbage to the file, just 2 bytes long. I guess redirection of Unicode in Win7 cmd is somehow broken.
EDIT 2: Windows Powershell has no such bugs:
dir * |% {$artist=$_; $artist.basename >> output.txt; dir $artist} |% {$album=$_; "`t"+$album.basename >> output.txt; dir $artist\$album\*.flac} |% {$track=$_; "`t`t"+$track.basename >> output.txt }
Sample output:
A Perfect Circle
2000 - 3 Libras
01 - 3 Libras
02 - Magdalena (Live)
03 - 3 Libras (Remix)
04 - Judith (Live)
05 - 3 Libras (Live)
2000 - Mer De Noms
01 - The Hollow
02 - Magdalena
03 - Rose
04 - Judith
05 - Orestes
06 - 3 Libras
07 - Sleeping Beauty
08 - Thomas
09 - Renholdër
10 - Thinking of You
11 - Breña
12 - Over
2003 - Thirteenth Step
01 - The Package
02 - Weak and Powerless
03 - The Noose
04 - Blue
05 - Vanishing
06 - A Stranger
07 - The Outsider
08 - Crimes
09 - The Nurse who Loved Me
10 - Pet
11 - Lullaby
12 - Gravity