elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Problema código lectura de variable en el apagado
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema código lectura de variable en el apagado  (Leído 4,733 veces)
ELVJop

Desconectado Desconectado

Mensajes: 132



Ver Perfil
Problema código lectura de variable en el apagado
« en: 5 Abril 2012, 10:25 am »

Entre algunos de mis programas de batch y otras cosas hoy me levante con la idea de reprender un mini programa atascado. El programa en si ya esta terminado no me dedicare a copiar todo el código pero quedaría así:
Código:
@echo off
echo                                     APAGADO DEL ORDENADOR
echo.
echo Cuanto tiempo quiere que pase antes de que su ordenador se apague?
echo.
echo Tecle el numero respectivo y pulse enter.
echo 1. 5 minutos
echo 2. 10 "
echo 3. 15 "
echo 4. 20 "
echo 5. 30 "
...
Y continuara mucho despues seguiria asi:
Código:
if /p var=
if %var%==1 goto :1 minuto
...
Asi nos estariamso años...
Un dia empeze un código como este:
Código:
@echo off
      
echo.                         APAGADO DEL ORDENADOR
echo Cuanto tiempo quiere que pase antes de que su ordenador se apague? (en minutos)
echo.
if /p var=
cls
echo Seguro que quiere continuar?
pause>nul
shutdown -s -f -t %var%
El codigo continua pero lo escrito a mano y no quiero continuar. La question es que al parecer el comando shutdown no me le la variable como un numero. El batch cree que hago algo mal. Y no se que es.

Perdón se me olvido decir que esto es Batch. Agradecería una respuesta cuanto antes.

Gracias


« Última modificación: 5 Abril 2012, 10:57 am por ELVJop » En línea

El dia 3 de mayo esta cuenta sera borrada.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Problema código lectura de variable en el apagado
« Respuesta #1 en: 5 Abril 2012, 11:05 am »

Es dificil averiguar donde está el problema sin el código entero.

1- if /p var=
    Ese comando dará error de sintaxis, No haces ninguna comprobación aunque tampoco sería la manera correcta de hacerlo, el parámetro "/P" es para setear.
Código:
    set /p var=
   No sé la intención tuya de esa linea así que no puedo ayudar mucho más.

2- Prueba expandiendo la variable VAR:
Código
  1. @Echo OFF
  2. Setlocal enabledelayedexpansion
  3. ...
  4. ...
  5. shutdown -s -f -t !var!

De todas formas te he hecho este code que hace la tarea más fácil sin tener que escribir 800 comprobaciones en el code :P

Código
  1. @Echo OFF
  2.  
  3. :Menu
  4. Cls
  5. Echo:                         APAGADO DEL ORDENADOR                        | MORE
  6. Echo: Cuantos minutos quiere que pase antes de que su ordenador se apague? | MORE
  7. Echo:   [*] Teclee el numero de minutos respectivo y pulse enter.          | MORE
  8. Echo:   [*] Teclee "0" si desea cancelar el apagado programado...          | MORE
  9. Set /P NUM= ^>^>
  10. IF NOT defined NUM (Goto :Menu)
  11. Echo "%NUM%" | Findstr /I "[A-Z]" >Nul
  12. IF NOT %Errorlevel% EQU 1 (Set "NUM=" & Goto :Menu) Else (Set /A NUM*=60)
  13.  
  14. :Shutdown
  15. If %NUM% EQU 0 (Shutdown -a 2>NUL) ELSE (Shutdown -S -F -T %NUM% & Set /A NUM/=60)
  16.  
  17. :Fin
  18. Cls
  19. If %NUM% EQU 0 (
  20. Echo: Se ha cancelado el apagado de su PC.
  21. ) ELSE (
  22. Echo: Se ha programado el apagado de su PC para dentro de %num% minutos.
  23. )

Salu2.



« Última modificación: 5 Abril 2012, 11:09 am por EleKtro H@cker » En línea



ELVJop

Desconectado Desconectado

Mensajes: 132



Ver Perfil
Re: Problema código lectura de variable en el apagado
« Respuesta #2 en: 5 Abril 2012, 11:11 am »

Ahora probare tu codigo pero no lo entiendo. Que problemas tiene el mio? En teoria si ejecuto el segundo digo los minutos necesarios, me pregunta si quiero continuar. Y en teoria donde pone %var% equivale al numero de minutos asignados lo que no entiendo es porque no coje el %var% Y la verdad dame alguna guia para entender tu codigo porque no entiendo la mayoria. Ahora lo pruebo haber si va.

Edit2: Otra cosa: Haber si puedes editar tu codigo porque me olvide decir que el codigo real empezaria asi:
Código:
@echo off
      
echo.                         APAGADO DEL ORDENADOR
echo Que desea hacer?
echo.
echo 1. Apagar el ordenador mas tarde
echo.
echo 2. Cancelar el apagado
if /p var=
if %var%==1 goto :apagado
if %var%==2 goto :parar
:parar
shutdown  -a
El ultimo comando lodigo de memoria no se si esta bien.
Perdon es cierto lo he comparado con el comando real y es asi: set /p var=
« Última modificación: 5 Abril 2012, 11:18 am por ELVJop » En línea

El dia 3 de mayo esta cuenta sera borrada.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Problema código lectura de variable en el apagado
« Respuesta #3 en: 5 Abril 2012, 11:17 am »

Que problemas tiene el mio?

A primera vista diría que el error está en "if /p var=" como ya te expliqué.
Si necesitas más ayuda pon el código entero aunque séa muy largo para examinarlo mejor

En teoria si ejecuto el segundo digo los minutos necesarios
No, No estás seteando ningún número ni haciendo ninguna comprobación del número, hazlo así:
Código
  1. @echo off
  2. echo.                         APAGADO DEL ORDENADOR
  3. echo Cuanto tiempo quiere que pase antes de que su ordenador se apague? (en minutos)
  4. Set /p var= Escribe el numero:
  5. Set /A var*=60
  6. cls
  7. echo Seguro que quiere continuar?
  8. pause>nul
  9. shutdown -s -f -t %var%

EDITO: Te recuerdo que el número debe ser en segundos, no puedes definir minutos en el comando shutdown.
« Última modificación: 5 Abril 2012, 11:20 am por EleKtro H@cker » En línea



ELVJop

Desconectado Desconectado

Mensajes: 132



Ver Perfil
Re: Problema código lectura de variable en el apagado
« Respuesta #4 en: 5 Abril 2012, 11:21 am »

Te me has adelantado en mi edición te digo que el comando bueno es set /p var pero sigue dandome error prueba tu este codigo:
Código:
@echo off
echo.                         APAGADO DEL ORDENADOR
echo Cuanto tiempo quiere que pase antes de que su ordenador se apague? (en minutos)
echo.
Set /p var= Escribe el numero:
Set /A num*=60
cls
echo Seguro que quiere continuar?
pause>nul
shutdown -s -f -t %var%
pause>nul
veras como no te funciona. PD: Le agregue pause>nul para que vieras el mensaje de error que te da la maquina de comandos.
La proxima vez que tenga una duda cojere el codigo raiz y no lo dire de memoria perdon. :P
« Última modificación: 5 Abril 2012, 11:33 am por ELVJop » En línea

El dia 3 de mayo esta cuenta sera borrada.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Problema código lectura de variable en el apagado
« Respuesta #5 en: 5 Abril 2012, 11:57 am »

veras como no te funciona. PD: Le agregue pause>nul para que vieras el mensaje de error que te da la maquina de comandos.
La proxima vez que tenga una duda cojere el codigo raiz y no lo dire de memoria perdon. :P

El código funciona a la perfección, Solamente cambia "num" por "var", Como puse en el código de mi última respuesta

Salu2
En línea



ELVJop

Desconectado Desconectado

Mensajes: 132



Ver Perfil
Re: Problema código lectura de variable en el apagado
« Respuesta #6 en: 5 Abril 2012, 12:11 pm »

ME degas un lick de donde empezaste a prender ese batch avanzado?

PD: Quando mde deges el link la duda queda resuelta gracias.
En línea

El dia 3 de mayo esta cuenta sera borrada.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Problema código lectura de variable en el apagado
« Respuesta #7 en: 5 Abril 2012, 12:36 pm »

ME degas un lick de donde empezaste a prender ese batch avanzado?

Empezé leyendo uno o dos tutoriales, Pero más que lectura han sido muchos años de práctica, Experiencia propia, Y ayuda cuando la necesité.

En Batch hay poco que aprender, Aquí puedes aprender lo más importante:
http://ss64.com/nt/syntax-args.html
http://ss64.com/nt/for.html
http://ss64.com/nt/if.html
http://ss64.com/nt/set.html
http://ss64.com/nt/call.html

Y aqui puedes analizar codes para aprender técnicas avanzadas:
Rob Van Der Woude
ss64

PD: Si prefieres tutoriales en castellano, Puedes usar el buscador del foro, Hay muchos.

Salu2.
En línea



ELVJop

Desconectado Desconectado

Mensajes: 132



Ver Perfil
Re: Problema código lectura de variable en el apagado
« Respuesta #8 en: 5 Abril 2012, 12:38 pm »

Gracias ya puedes cerrar.
En línea

El dia 3 de mayo esta cuenta sera borrada.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
lectura pic 16f627a con codigo de proteccion
Electrónica
juanxx 0 2,154 Último mensaje 26 Enero 2006, 20:22 pm
por juanxx
codigo de pagina html a variable o array????
PHP
gm-vl 3 2,275 Último mensaje 3 Agosto 2007, 11:31 am
por Agente Naranja
foto lectura, y lectura veloz, scanning y otros metodos de lectura rapida....
Foro Libre
Kase 3 13,014 Último mensaje 4 Febrero 2014, 08:47 am
por camilo_
eaccelerator, lectura de codigo
Desarrollo Web
cheba93 1 2,301 Último mensaje 6 Febrero 2011, 04:24 am
por Nakp
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines