Problema con variables en un programa .bat
Tengo un problema con un programa .bat. Le he puesto una función 'If' para que si se cumple realice un proceso, y en caso contrario (Else), salga un mensaje de error.
El problema es que no sé por qué no funciona, puesto que cuando lo programé me funcionaba sin ningún problema...
Este es el apartado con el que tengo problemas:
:Dfrana
Title ANALIZAR DISCO
Color 1F
Clsset/p uni= Indique la(s) letra(s) de unidad que quiere analizar (Ej.: C: D:):
If Exist "%uni%" (
Echo -------------------------------------------------
Echo Se realizar un analisis completo de la unidad...
Echo -------------------------------------------------
Timeout /T 5
Cls
Echo ----------------------------
Echo Esto puede tardar un rato...
Echo ----------------------------
Defrag %uni% /A
Echo ----------------------------
Echo Primer analisis terminado...
Echo ----------------------------
Timeout /Nobreak /T 10
Chkdsk %uni% /A
Echo ------------------------------
Echo Anaisis completo realizado...
Echo ------------------------------
) Else (
Color CE
Echo ------------------------------------------------------------
Echo La(s) unidad/es "%uni%" no existe(n), intentelo de nuevo...
Echo ------------------------------------------------------------
Timeout /T 10
goto dfrana
)
Pause
goto dfr
He probado a quitarle el "If Exist" y el "Else" y así sí que funciona, pero no quiero quitarle estas funciones, puesto que me parecen muy útiles...