@echo off :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: GRAB v0.2 Ard Haskell ORG:26DEC2003 UPDATE:17JAN2004 :: GRABS info and cover art from Amazon's database, given an ASIN :: :: G_TEMP=The assigned temp folder, cleaned after each use. :: G_MUSIC=The folder in which Grab creates a folder for each artist in which the album folder + info is dumped. :: G_COVER_=The names the cover images get when dropped in the folder. :: :: USAGE: grab FLAGS: /d = Debug, shows script during execution. :: Example: grab /d /f = Create folders only, don't drop content in it. :: /i = Create folders and grab cover images. :: /a = Create folders and enter ASIN, no images. ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :G_CONFIG set G_HOSTNAME=Computername set G_TEMP=C:\temp set G_MUSIC=D:\backup set G_COVER_SM=cover_sm set G_COVER_MD=cover_md set G_COVER_LG=cover_lg ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :G_INIT set G_VER=v02 set G_FOLDER=0 set G_IMAGES=0 set G_ASIN=0 if /I "%1"=="/d" (echo on & shift) if /I "%1"=="/f" (set G_FOLDER=1 & shift) if /I "%1"=="/i" (set G_IMAGES=1 & shift) if /I "%1"=="/a" (set G_ASIN=1 & shift) if not exist .\G_INFO (call :G_MAKE_INFO) if not exist %G_TEMP% (md %G_TEMP%) color 0A & title GRAB %G_VER% :G_INPUT wscript .\GRAB_INPUT.vbs call :G_PARSE_INPUT :G_FETCH wget http://xml.amazon.com/onca/xml3?t=delrinian^&dev-t=D1CGNISNDYIHZC^&AsinSearch=%G_ASIN%^&mode=music^&sort=+titlerank^&offer=All^&type=%G_TYPE%^&page=^&f=xml -O %G_TEMP%\G_GRAB for /f "tokens=2 delims=<" %%i in ('type %G_TEMP%\G_GRAB ^| findstr /I/G:G_INFO') do for /f "tokens=1,* delims=>" %%j in ("%%i") do call :G_SPLIT %%j %%k if not exist "%G_MUSIC%\%G_Artist%" (md "%G_MUSIC%\%G_Artist%") if not exist "%G_MUSIC%\%G_ARTIST%\%G_ProductName%" (md "%G_MUSIC%\%G_ARTIST%\%G_ProductName%") set G_PATH=%G_MUSIC%\%G_ARTIST%\%G_PRODUCTNAME% if "%G_FOLDER%"=="1" (goto :G_END) if "%G_IMAGES%"=="1" (call :G_IMAGES & goto :G_END) if "%G_ASIN%"=="1" (call :G_ASIN & goto :G_END) call :G_IMAGES & call :G_ASIN net send %G_HOSTNAME% %G_PATH% goto :G_END :G_SPLIT for /f "tokens=1,*" %%i in ("%*") do set G_%1=%%j goto :EOF :G_MAKE_INFO echo Artist>.\G_INFO echo ProductName>>.\G_INFO echo ReleaseDate>>.\G_INFO echo Manufacturer>>.\G_INFO echo BrowseName>>.\G_INFO echo ImageUrlSmall>>.\G_INFO echo ImageUrlMedium>>.\G_INFO echo ImageUrlLarge>>.\G_INFO echo Track>>.\G_INFO goto :EOF :G_IMAGES for /f "tokens=6 delims=." %%i in ("%G_ImageUrlSmall%") do wget %G_ImageUrlSmall% -O "%G_PATH%\%G_COVER_SM%.%%i" for /f "tokens=6 delims=." %%i in ("%G_ImageUrlMedium%") do wget %G_ImageUrlMedium% -O "%G_PATH%\%G_COVER_MD%.%%i" for /f "tokens=6 delims=." %%i in ("%G_ImageUrlLarge%") do wget %G_ImageUrlLarge% -O "%G_PATH%\%G_COVER_LG%.%%i" goto :EOF :G_ASIN echo.>"%G_PATH%\%G_ASIN%.aml" goto :EOF :G_PARSE_INPUT for /f "tokens=1,* delims=:" %%i in (%G_TEMP%\GRAB_INPUT) do set G_%%i=%%j goto :EOF :G_END set G_ for /f "tokens=1 delims==" %%i in ('set G_') do set %%i= del %G_TEMP%\G_*