This script creates thumbnails for all cover images in the selected folder and subfolders. This speeds up the listings in Squeezebox. It uses Graphicsmagick for the actual converting.
I made this script because there was no easy way to do this in windows as there is no good find command like in *nix.
Save the script below as thumber.vbs and run from the command line:
cscript thumber.vbs "foldername"
Example:
cscript thumber.vbs "c:\My Music"
The script:
Dim fso, folder, folderName, coverFilenames, convertCommand, targetFilename ' Change this if you use other filenames coverFilenames = "FOLDER.JPG,COVER.JPG" ' Change this if you want to use another target filename targetFilename = "thumb.jpg" ' Change this if you want to use different parameters for converting the image convertCommand = "gm convert -resize 50x50 ""#SOURCEFILENAME#"" ""#TARGETFILENAME#""" If Wscript.Arguments.Count <> 1 Then WScript.Echo "Run from the command line: cscript thumber.vbs ""foldername""" Wscript.Quit End If folderName = Wscript.Arguments(0) Set fso = CreateObject("Scripting.FileSystemObject") Set oShell = WScript.CreateObject ("WScript.Shell") If Not fso.FolderExists(folderName) Then WScript.Echo "The folder """ & folderName & """ does not exist" Wscript.Quit End If WScript.Echo "Scanning """ & folderName & """" Set folder = fso.GetFolder(folderName) processFolders(folder) Function processFolders(folder) Dim subfolder processFiles(folder) For Each subfolder in folder.SubFolders processFolders(subfolder) Next Set subfolder = Nothing End Function Function processFiles(folder) Dim file, fileNames, cmd For Each file in folder.Files If InStr(coverFilenames, UCase(file.name)) > 0 Then cmd = convertCommand cmd = Replace(cmd,"#SOURCEFILENAME#",file.Path) cmd = Replace(cmd,"#TARGETFILENAME#",file.ParentFolder & "\" & targetFilename) Set cmdOutput = oShell.Exec(cmd) WScript.Echo cmdOutput.StdOut.ReadAll End If Next Set file = Nothing End Function