Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: jesusandres1 en 6 Agosto 2012, 05:33 am



Título: que error tengo en este batch
Publicado por: jesusandres1 en 6 Agosto 2012, 05:33 am
tengo este error:
N¨²mero no v¨¢lido . Las constantes num¨¦ricas son decimales(17), hexadecimales (0x17), u octales (21).

este es el codigo:
Código:
@echo off
setlocal enabledelayedexpansion
cls
set /p "n1=aqui el valor 1 "
set /p "n2=aqui el valor 2 "
set /a "rm"=n1*n2"
echo el resultado es: %rm%

y me marco el error anterior, este codigo lo abre otra aplicacion batch, la cual es:
Código:
@echo off
set /p "abr=abrir si - no"
if %abr%==si (start multi.bat) else (exit)
:exit

que error tengo.
Nota: cuando abro el primer codigo, hace la multiplicacion bien, pero cuando llamo al primer codigo con el segundo que e puesto, mer marca el error que mencione, a que se debe?-ME SIGUIO SIN FUNCIONAR JUAJUA, TODO LO QUE ME HAN DICHO LO HICE PERO NO ME FUNCIONA, DE TODAS FORMAS SE LOS agradezco :D


Título: Re: que error tengo en este batch
Publicado por: dont'Exist en 6 Agosto 2012, 06:35 am
¿Es necesario que estén separados? ¿Por qué no lo haces todo junto en un solo .bat?


Título: Re: que error tengo en este batch
Publicado por: Eleкtro en 6 Agosto 2012, 07:51 am
este es el codigo:
Código:
set /a "rm"=n1*n2"
Podrías intentar fijarte un poco mejor al escribir las comillas dobles en el comando más importante del script. (Aunque funciona igual en este caso, Pero vamos, Por despistes así dejan de funcionar los códigos xD...)
Aparte, Usas el comando setlocal pero no le das ningún uso, Entonces es innecesario:

Código
  1. @echo off
  2. cls
  3. set /p n1=Aqui el 1er valor:
  4. set /p n2=Aqui el 2do valor:
  5. set /a "rm=n1*n2"
  6. echo El resultado es: %rm%


Nota: cuando abro el primer codigo, hace la multiplicacion bien, pero cuando llamo al primer codigo con el segundo que e puesto, mer marca el error que mencione, a que se debe?
Tanto tú código como el que yo he puesto, Funcionan perfectamente tanto si lo llamas desde otro script como sinó.
No se que es lo que habrás intentado multiplicar para que te de error  :xD.

PD: ¿Estás en WinXP?

Saludos


Título: Re: que error tengo en este batch
Publicado por: Puntoinfinito en 6 Agosto 2012, 12:25 pm
En el segundo hay algo que no cuadra, el "set" sería mejor ponerlo así:
Código:
set /p abr== Desea abrir, si o no ^>^>^> 
En el caso de else, está bien. Pero ¿qué es lo de :exit? xD

Saludos


Título: Re: que error tengo en este batch
Publicado por: jesusandres1 en 7 Agosto 2012, 07:52 am
¿Es necesario que estén separados? ¿Por qué no lo haces todo junto en un solo .bat?

la verdad es que si es necesario que vayan separados :D


Título: Re: que error tengo en este batch
Publicado por: jesusandres1 en 7 Agosto 2012, 07:57 am
Podrías intentar fijarte un poco mejor al escribir las comillas dobles en el comando más importante del script. (Aunque funciona igual en este caso, Pero vamos, Por despistes así dejan de funcionar los códigos xD...)
Aparte, Usas el comando setlocal pero no le das ningún uso, Entonces es innecesario:

Código
  1. @echo off
  2. cls
  3. set /p n1=Aqui el 1er valor:
  4. set /p n2=Aqui el 2do valor:
  5. set /a "rm=n1*n2"
  6. echo El resultado es: %rm%

Tanto tú código como el que yo he puesto, Funcionan perfectamente tanto si lo llamas desde otro script como sinó.
No se que es lo que habrás intentado multiplicar para que te de error  :xD.

PD: ¿Estás en WinXP?

Saludos
si tengo winXP y me sigue marcando error :(


Título: Re: que error tengo en este batch
Publicado por: jesusandres1 en 7 Agosto 2012, 08:01 am
En el segundo hay algo que no cuadra, el "set" sería mejor ponerlo así:
Código:
set /p abr== Desea abrir, si o no ^>^>^> 
En el caso de else, está bien. Pero ¿qué es lo de :exit? xD

Saludos

es por si contesto que "No" entonces va a salir de la app, o no va eso :D


Título: Re: que error tengo en este batch
Publicado por: Puntoinfinito en 7 Agosto 2012, 11:58 am
es por si contesto que "No" entonces va a salir de la app, o no va eso :D
No xD, ":exit" solo sirve para añadir nueva cadena, borralo... Y en segunda opcion de else pon solo esto: "else (exit)" .

Así ya ira



si tengo winXP y me sigue marcando error :(

Código:
set /a rm=n1*n2


Elektro: Usa el botón "Modificar", puntoinfinito.