Hack x Crack - Comunidad de Seguridad informática

Programación => Scripting => Batch / Bash => Mensaje iniciado por: elite93 en Junio 11, 2013, 08:11:57 pm

Título: duda con batch...!!!
Publicado por: elite93 en Junio 11, 2013, 08:11:57 pm
hola amigos muy buenos dias.. lo que pasa es que soy novato en batch .. hace poco estudie los cuadernos de hack x crack del curso de batch...  me quedaron varias dudas.. del goto y demas..

estoy haciendo un script para automatizar el chequeo de disco e informacion del equipo..
lo que pasa es que cuando presiono la tecla 1 por ejemplo deberia escanear el disco de errores.. y no lo hace.. solo hace el comando para saber la configuracion ip..
si podrian ayudarme cual o cuales son los errores!! :S


@echo off
title Sistema de escaneo
color 1F
echo.
echo -----------------------eliga una utilidad para el escaneo de discos e informacion-----------------------------------------
echo.
echo.
echo                                ------------------------ 1._scanear disco----------------------
echo                                ------------------------ 2._configuracion ip-------------------
echo                                ------------------------ 3._informacion del equipo-------------
set scanearDisco=1
set configuracion de ip=2
set SYSTEMINFO=3
set/p vil num=eliga una utlidad de sistema para inicializar=
echo.
if %scanearDisco%==1(goto op1)
:op1
CHKDISK :C /f
if %configuracion de ip%==2(goto op2)
:op2
ipconfig /all
if %SYSTEMINFO%==3(goto op3)
:op3
SYSTEMINFO
exit

Título: Re:duda con batch...!!!
Publicado por: WhiZ en Junio 11, 2013, 09:04:46 pm
Te dejo el codigo y fijate si entendes donde estan los errores del tuyo:

Código: [Seleccionar]
@echo off
title Sistema de escaneo

:inicio
:: Arranca el programa.
color 1F
echo.
echo Bienvenido al Sistema de Escaneo
echo.
echo 1. Escanear disco
echo 2. Configuracion ip
echo 3. Informacion del equipo
echo 4. Salir
echo.

:: Creamos la variable num y le pedimos al usuario que
:: le asigne un valor.

set/p num=Elija una utilidad de sistema para inicializar:
echo.

:: Comprobamos si el valor de la variable num coincide con
:: alguno de los numeros del uno al cuatro.
if %num%==1 (goto op1)
if %num%==2 (goto op2)
if %num%==3 (goto op3)
if %num%==4 (goto salir)

:: Si el valor de la variable num no coincide con ninguno
:: de los anteriores, entonces manejamos el error (:error)

:error
echo.
echo Valor incorrecto
echo.
pause
cls
goto inicio

:op1
CHKDSK :C /f
echo.
pause
cls
goto inicio

:op2
ipconfig /all
echo.
pause
cls
goto inicio

:op3
SYSTEMINFO
echo.
pause
cls
goto inicio

:salir
exit

Una de las cosas que vas a ver es que al inicio de tu code creaste tres variables y les asignaste un valor a cada una. Eso significa que cada una de las sentencias if van a ser verdaderas siempre, porque la primer variable vale uno, la segunda dos y la tercera tres en todo momento. No se se entiende.

Otra cosa que hice fue agregarle :error para manejar errores ;).

Analizalo y cualquier cosa estamos aca.

Saludos.
WhiZ
Título: Re:duda con batch...!!!
Publicado por: elite93 en Junio 12, 2013, 04:06:29 am
gracias men!! ya se ejecutoo!! :D