Consulta codigo en batch windows.
Publicado por Gabriel (2 intervenciones) el 02/10/2017 07:12:19
Buenas queria hacerles una consulta, estoy teniendo problemas con mi codigo en batch en windows.
Es un programita que debo hacer para el estudio.
El problema radica que no encuentro la forma de comparar el valor de una variable ingresada por el usuario.
ejemplos:
Lo que necesito aquí es que el usuario al ingresar números o todo lo que sea diferente a letras lo mande a un
error con el goto.
Lo que quiero hacer es comparar las letras de los números.
Trate con if trate con for y solo eh logrado que al ingresar un numero del 0 al 9 lo dirija mediante el goto a donde yo quiero, pero si el usuario me ingresa numeros seguidos ejem: 123 no se cumplen las condiciones.
Mi segundo problema es como hago para que la consola de cmd al ejecutarse el batch no se cierre presionando enter.
Tengo algo asi para cuando solicita ingresar valor a la variable solamente se apreta enter pero el tema es que cuando paso de un menu al otro en mi batch no se ejecuta dicho codigo.
Esto viene a ser parte de mi codigo donde le doy el alta a los alumnos registrados generando asi un txt con los datos """Recuerden es parte del codigo"".
Es un programita que debo hacer para el estudio.
El problema radica que no encuentro la forma de comparar el valor de una variable ingresada por el usuario.
ejemplos:
1
2
3
@echo off
echo.Ingrese su nombre:
set /p nombre=
Lo que necesito aquí es que el usuario al ingresar números o todo lo que sea diferente a letras lo mande a un
error con el goto.
Lo que quiero hacer es comparar las letras de los números.
Trate con if trate con for y solo eh logrado que al ingresar un numero del 0 al 9 lo dirija mediante el goto a donde yo quiero, pero si el usuario me ingresa numeros seguidos ejem: 123 no se cumplen las condiciones.
Mi segundo problema es como hago para que la consola de cmd al ejecutarse el batch no se cierre presionando enter.
1
2
3
echo.Ingrese su nombre:
set /p nombre=
if [%nombre%]==[] goto alta
Esto viene a ser parte de mi codigo donde le doy el alta a los alumnos registrados generando asi un txt con los datos """Recuerden es parte del codigo"".
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
:alta
cls
echo.Ingrese su nombre:
set /p nombre=
if [%nombre%]==[] goto alta
rem // si se preciona solamente enter vuelve a (nombre) //
:apellido
cls
echo.Ingrese su apellido:
set /p apellido=
if [%apellido%]==[] goto apellido
:edad
cls
echo.Ingrese su edad:
set /p edad=
if [%edad%]==[] goto edad
:cedula
cls
echo.Ingrese su cedula:
set /p cedula=
if [%cedula%]==[] goto cedula
if exist alumnos\"%cedula%.txt" goto ci-error
rem // corroboro en la base de datos que no exista la cedula a ingresar //
:curso
cls
echo.Ingrese nombre del curso:
set /p cur=
if [%cur%]==[] goto curso
:año_ins
cls
echo.Ingrese el año de inscripcion:
set /p año_ins=
if [%año_ins%]==[] goto año_ins
echo.Nombre: %nombre% Apellido: %apellido% Edad: %edad% Cedula: %cedula% Curso: %curso% Año: %año_ins% > alumnos\%cedula%.txt
rem // guardo los datos de las variables en la variable del txt de salida //
echo.El usuario fue ingresado con exito.
pause
goto ci-1
:ci-1
cls
echo. 1) Volver al menu principal
echo. 2) Volver al inicio del sub menu " Seccion Alumnos "
set /p ci=
if [%ci%]==[] goto ci-1
if %ci% equ 1 goto inicio
if %ci% equ 2 goto alumnos
for %%x in (%%x neq 1,%%x neq 2) do (goto ci-1)
pause>nul
:ci-error
echo.Su cedula se encuentra registrada !!!
pause
goto ci-1
Valora esta pregunta
0