Cuando tengas que trabajar con batch como no existe para depurar el codigo, puedes poner pausas a cada rato para irte guiando y viendo hasta donde va todo bien. Por ejemplo asi:
rem Autor: mi nombre
rem Fecha: agosto de 2012
rem Función: redirecciona el resultado de
rem C:\ a un archivo nombrado por el usuario.
echo No existe el archivo
:regla_g
echo Entramos a la etiqueta regla_g
echo %1 ya existe, abortando EXDIR.
:fin
echo Se cierra el programa
Cosas asi siempre ayudan, por lo menos a mi y he visto que otros buenos como los que te daran la solucion luego lo hacen seguido.
Si haces lo que te digo podras encontrar el error por si solo, mirando que dice el programa y que pasa en tu computadora.
Saludos