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