A mi no me había gustado la parte vbs que habías dejado en principio, así que te dejo otro 
Saludos

Código (dos) [Seleccionar]
@echo off
set fecha="2009-08-27"
REM Se le pasa una fecha con formato YYYY-MM-DD y devuelve el dia
REM de la semana, donde el lunes es el primer dia y domingo el ultimo
set vbsfile=%temp%\newdate.vbs
echo fecha = %fecha% > %vbsfile%
echo dias = array("Lunes","Martes","Miercoles","Jueves","Viernes","Sabado","Domingo") >> %vbsfile%
echo mad = split(fecha,"-") >> %vbsfile%
echo wscript.echo dias(weekday(mad(2) ^& "/" ^& mad(1) ^& "/" ^& mad(0) ,vbmonday)-1) >> %vbsfile%
for /f %%A in ('cscript.exe //nologo %vbsfile%') do set diasemana=%%A
echo %diasemana%
pause > nul
Saludos