Tengo un pequeño problema, y es que parece que la secuencia se repite en algun punto una sola vez, cuando se llama a la funcion END vuelve otra vez al principio, pero solo pasa una vez. No sé que puede ser.
Has de saber distinguir el uso de una llamada CALL de un GOTO.
El problema es que cuando haces un CALL al bloque :CheckLocked,
este a su vez hace un CALL al bloque :NOTLOCKED o al bloque :LOCKED,
y el problema es que en ambos bloques :NOTLOCKED/:LOCKED haces un GOTO a :END,
al no contener instrucciones el bloque :END, la llamada del CALL se acaba y vuelve al punto de inicio de ese CALL, es lo mismo que un
GOTO:EOF.
Para solucionarlo:
:END
A parte, cuando existe el archivo test.txt y escribes n(o) deberia terminar, pero por alguna razón aparece el siguiente menu, como si hubieras escrito s(i)
Es el mismo error que he comentado arriba, no estás terminando la ejecución del script, solo estás terminando una llamada a un bloque (CALL) así que vuelves a la linea en donde iniciaste ese CALL.
¿Por casualidad no sabrás por qué me da este error?
Error 216: This version of "C:\Users\HOME~1\AppData\Local\Temp\afolder\EditV64
.exe" is not compatible with the version of Windows you're running. Check your c
omputer's system information and then contact the software publisher.
Invalid password
Me he fijado en que la versión de Editv32 y Editv64 son la misma (3.0.0.0), pero la versión de 32 Bits parece no funcionar o bien en Windows 8/81 o bien en equipos de 64 Bits (no lo he comprobado a fondo).
Solo el propio desarrollador sabrá porque motivo ha querido imponer esa denegación de ejecución de la versión de 32 Bits, pero en caso de que no sea una limitación de uso en "X" versión de Windows entonces esto debería funcionar:
:: X86
REM Ejecutar Editv32.exe
)
:: x64
REM Ejecutar Editv64.exe
)
PD: No he echo la prueba en un Windows 7/8 x86.
Saludos