Hola, mira tu code si funciona, lo acabo de probar, pero cambie algunas por que mi sistema esta en ingles (Escritorio).
Asi que dale una checada a esto esto : Pushd "%userprofile%\escritorio"
Ya que no todos los SO´S estan en español.
Pero eso se puede arreglar con unos If Exist :
Un ejemplo :
@echo off
if exist "%homepath%\Escritorio" (
echo Si existe el directorio "%homepath%\Escritorio"
pause>nul
goto:EOF
) else (
if exist "%homepath%\Desktop" (
echo Si existe el directorio "%homepath%\Desktop"
pause>nul
goto:eof
)
)
Ahora, en la linea 5, pones un goto bucle, eso realmente no hace falta ya que pasara a la siguiente linea en el code. Es solo ahorro de lineas 
Bueno, Saludos!!!