Ayuda con batch

Iniciado por Warkanlock, 23 Diciembre 2009, 18:00 PM

0 Miembros y 1 Visitante están viendo este tema.

Warkanlock

hola necesito ayuda porque estoy aprendiendo ase 1 semana como crear programas executables y esas cosas asi que estoy aprendiendo a la ligera esto ya e creado mi virus-scan que te hace el re lio y me quede trabajo con algo:

¿Como puede hacer para que pregunte por ejemplo que quieres hacer?

Ejemplo de lo que quiere hace:

Código (dos) [Seleccionar]
@echo off
echo Estas entrando al visualizador de componentes by Warkanlock
y aca quiero que pregunte ¿Que quieres hacer?
Opcion a: Ver ip
opcion b: ver mem ram


eso es lo que quiero hace e leido tutos pero nunca entiendo eso de etiquetas y variables si me lo pueden explicar me viene barvaro

saludos!! y gracias

Nota del MOD:

Ortografía, es urgente que la mejores.

leogtz

Veámos.

Para crear una etiqueta, se usan el caracter de dos puntos:
:opcion
A través del caracter ':', creamos una etiqueta llamada "opcion", implícitamente en el CMD se crea así:
:opcion:
Es decir, le agrega un ':' para caracterizar ese fin de etiqueta.

De ahí que algunos usemos:

:: Hola a todos este es mi comentario usado con dos ':'

Pero bueno, a ti no te interesa en lo más minimo eso, sólo quería darte la teoría.

Se trata de crear una etiqueta que nos va a servir de punto de inicio del menú, es decir, si el usuario comete una errata en la entrada de datos, volver a dicha etiqueta por medio de un "goto".

Mira:

Código (dos) [Seleccionar]
@echo off
:ver_opc
color cf
cls
echo 1.- Mostrar 1
echo 2.- Mostrar 2
echo 3.- Mostrar 3
set /p "opciones=Teclee el numero de la opcion deseada : ";
rem Checamos que nos de un numero en el rango adecuado
if not defined opciones (goto:ver_opc)
if %opciones% gtr 3 (
goto:ver_opc
) else (
if %opciones% lss 1 (
goto:ver_opc
)
)


Examina la salida de ese trozo de código y verás a que me refiero.
Si el usuario teclea un 234 o un -123, se vuelve a la etiqueta :ver_opc
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

CaronteGold

  Pues sería:


@echo off
echo Estas entrando al visualizar de componentes by Warkanlock
set /p pregunta=¿Que quieres hacer?
echo Opcion a: Ver ip
echo Opcion b: Ver mem ram


  Luego tendrías que poner,  if %pregunta%==a .........., así va.

 Saludos.

Warkanlock

Buenas las respuestas pero siguo sin entender como tendria que hacer para que a elegir por ejemplo Opcion 1 haga tal cosa tendria que ser asi??:

@echo off
echo Estas entrando al visualizador de componentes by warkanlock
set /p pregunta=¿Que quieres hacer?
echo Opcion a: Ver ip
echo Opcion b: Ver mem ram
:a
las cosas de la etiqueta :a
y luego
:b
las cosas de la etiqueta b??

seria algo asi me puedes hacer un codigo rapido yo luego sacare las concluciones pero lo necesite esto la semana pasada para la escuela y no lo pude entender

saludos!!



leogtz

#4
Código (dos) [Seleccionar]
@echo off
:opcion
cls
echo Estas entrando al visualizador de componentes by warkanlock
echo Opcion a : Ver ip
echo Opcion b : Ver mem ram
set /p "pregunta=¿Que quieres hacer? : "
if not defined pregunta (goto:opcion)
if "%pregunta%"=="a" (goto:a)
if "%pregunta%"=="b" (goto:b)
:a
las cosas de la etiqueta :a
y luego
goto:eof
:b
las cosas de la etiqueta b??
seria algo asi me puedes hacer un codigo rapido yo luego sacare las concluciones pero lo necesite esto la semana pasada para la escuela y no lo pude entender
goto:eof
saludos!!


¿Por qué lo necesitas para la escuela?
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Warkanlock

PD: lo necesitaba para la semana pasada para un clase de computación pero luego me gusto programar y me quede programando toda la noche cosas bacicas pero me avía trabado en esto

Bueno ya lo logre y no con esas opciones lo logre con etiquetas:
@echo off
color 30
title Warkanlock Interfaz de programas..
echo ==================================
echo =                                =
echo =        Warkanlock Production   =
echo =                                =
echo ==================================
:inicio
echo.
echo Hola, estas en una interfaz de programas By warkanlock.
echo.
pause
cls
echo.
set/p nom= Primero anota como te llamas:
echo.
echo Hola %nom%. Pulsa una tecla para acceder al menu.
echo.
pause>nul
cls
:menu
echo.
echo Estas dentro de la interfaz.
echo.
set/p deseo=Anota Ip: para ver tu Ip - Memoria:para ver tu Memoria :
if %deseo%==ip goto ip
if %deseo%==memoria goto memoria
if %deseo%==reiniciar goto inicio
if %deseo%==salir (goto salir) else echo. && echo mal && goto menu
:ip
echo.
echo Para ver tu Ip Presiona una tecla.
pause>nul
ipconfig
echo.
echo.
echo Pulsa una tecla para ir al Menu...
pause>nul
cls
goto menu
:memoria
echo.
echo Tu memoria esta siendo analizada
echo Presiona una tecla para ver tu memoria
echo.
pause>nul
echo.
echo.
mem
echo.
echo.
echo pulsa una tecla para ir al Menu
pause>nul
cls
goto menu
:salir
cls
echo.
echo gracias por usar mi programa
echo.
echo pulsa una tecla para salir
pause>nul
exit


Eso era lo que queria hacer aca esta el link de descarga.

PD: puse link asi ven como es por dentro el programa la verdad es que me sorprendí solo xD porque nunca avía echo un programa antes

http://www.filefactory.com/file/a13435a/n/Visualizador.rar