if %1==/help goto "ayuda" else goto "normal"
no llega a ejecutar la etiqueta normal
De la forma en que has escrito la sintaxis, si no le pasas un argumento al script entonces el argumento 1 no existe, quedará un espacio vacío y sin comillas, y el IF no puede comparar un "espacio vacio" porque siempre dará error.
En resumen, esto es lo que la CMD entiende cuando no le pasas un argumento a tu script:
Como comprenderás dará error:
No se esperaba goto en este momento.
Esto es una de las razones tán importantes de porque siempre digo que hay que usar comillas aunque parezca que no son necesarias como en el caso de los argumentos, que siempre llevan comillas dobles, pero si no existe el argumento desaparecen las comillas.
Entonces hay que hacerlo así:
estoy practicando eso de los parametros o porcentajes
Deberías practicar primero la sintaxis, sobretodo el uso de las comillas y parentesis.
EDITO:
Cambiando de tema, La consola de Windows ha ido adoptando muchos nombres a lo largo de los años, la mayoría de la gente llama "dos" o "msdos", otros "linea de comandos", "consola", "símbolo de sistema", "bat", "batch".
Está bien llamarlo como a uno le de la gana mientras no se confundan los términos, MS-DOS es un sistema operativo por linea de comandos de la decada de los años 80, lo que tu estás aprendiendo proviene de ese SO, que se ha ido actualizando/transformando desde un completo sistema operativo de los 80, a un pequeño complemento más de Windows de hoy en día, la CMD.
http://es.wikipedia.org/wiki/DOSuno me dijo que el cmd es diferente al msdos , osea cual usar , para hacer bombas logicas y esas cosas que hacen en batch , necesito un programa msdos
Con una versión real de MS-dos solo podrías hacer un "DIR" y poco más, creo que queda claro con la explicación de antes.
Saludos