Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Geormarsch

#131
Cita de: Leo Gutiérrez. en  6 Noviembre 2011, 01:06 AM
Y por qué en Batch?
Seria un Reto y Quedaria Genial... Nos Matariamos Pensando o no ??
#132
Scripting / [Batch] Duda programando un Controlador
5 Noviembre 2011, 20:35 PM
Amigos Soy hijo del dueño de un ciber y pensando un dia...  >:D
Pense si se podia realizar un control de ciber en Batch... ( No se si puro o no)
pero Hay que ver artos Peros...

* Primero deve llevar un controlador de tarifas
   - Si introduce $100  Son 15 Minutos ( Calculando Fracciones )
*Dar el tiempo a un pc

* Cortar El tiempo
  - Cortar cuando se acabe el contador y decir lo gastado
*bloquear la pantalla al terminar el tiempo ( o apagar)
- Creo que se puede hacer con Net Cat...

Hasta el momento llevo esto...
Código (dos) [Seleccionar]
@echo off
color 3f
title  Control de ciber ^| Mientras configuro original
:control
cls
echo 1.-Ingresar Computador
echo 2.-Ver computadores
echo 3.-Borrar registros
set /p cbm=^>^>
if not defined cbm goto control
if %cbm%==1 (goto add)
if %cbm%==2 (goto view)
if %cbm%==3 (goto del) else (goto control)

:add
cls
echo.
set /p num=Ingrese numero de Computador:
set /p tim=Ingrese hora de llegada:
echo Numero            : %num% >>%homedrive%\cbm.txt
echo Tiempo de llegada : %tim% >>%homedrive%\cbm.txt
echo ------------------------------------------>>%homedrive%\cbm.txt
ping -n 2 0.0.0.0>nul
goto control

:view
cls
echo.
type %homedrive%\cbm.txt
pause
goto control

:del
cls
echo Borrando...
del /f /q %homedrive%\cbm.txt
ping -n 1 0.0.0.0>nul
echo Borrado exitosamente
ping -n 2 0.0.0.0>nul
goto control


Les ago una propuesta Optimizemos el codigo y Agamos un Control de ciber como Comunidad Foro el hacker....



#133
Cita de: $Edu$ en  4 Noviembre 2011, 23:55 PM
Yo le pondria mas "anti errores", por ejemplo cada vez q pides el valor de una variable, antes tienes que anularla asi:

Código (dos) [Seleccionar]

set "var="


Por que sino quedara con el valor que tenia antes, para entender lo que te digo, agarra tu programa sin poner esto que te digo y elegi una opcion en el menu, la que quieras; ahora cuando estes de nuevo en el menu, apreta solo Enter sin escribir nada y te llevara al mismo lugar.

Y aunque sea feo y tengas que crear mas etiquetas le pondria los if not defined cuando pides los datos, para que no dejen nada en blanco.

Espero haberte ayudado

Lo recuerdo como si hubiese sido ayer la primera vez que me ayudaste ;D
#134
Cita de: EleKtro H@cker en  5 Noviembre 2011, 03:51 AM
Cierto, usas muchas variables y conviene "resetearlas" al volver al :MENU, porque sino aunque dejes vacía alguna de las variables como talla dire y eso, se tomará la variable anterior... espero que se me entienda xD

aparte de eso, dejame mejorartelo un poquito lo que pueda  :xD


PD: Copia este código tal cual, para probarlo, aunque veas caracteres raros al copiar no te preocupes, en la consola salen bien las palabras con los acentos y eso  ::)

Leo es un crack con el tema de trabajar sobre archivos de texto así que yo esperaría a ver si te da una solución para una mejor busqueda sobre la lista de clientes...  ;-)





Código (dos) [Seleccionar]

@echo off
title Base de datos Clientes
color fc

If not exist "%homedrive%\clientes.txt" (echo.>"%homedrive%\clientes.txt")


:############################################################

REM En esta parte no he correjido nada importante, solo sintaxis y gramática xD, el "ELSE" del final...

REM Reseteando variables...


:MENU

Set o=
set check=
Set de=
set bo=

cls
echo.
echo %time%
echo  ##########
echo.
echo.
echo  1.- Agregar Cliente
echo  2.- Buscar dentro de la Base de datos
echo  3.- Mostrar el contenido de la Base de datos
echo  4.- Borrar Base de datos
echo.
echo.
set /p o= Elija una opci¢n:
if not defined o (goto :menu)
if %o%==1 (goto :add)
if %o%==2 (goto :b)
if %o%==3 (goto :x)
if %o%==4 (goto :dl)
goto :menu



:############################################################

REM Aqui nos aseguramos de que ningún campo queda vacío...


:add

set name=
set dire=
set n=
set c=
set t=
set s=


cls
echo.
set /p name=- Nombre de cliente: & Call :verify name
set /p dire=- Direcci¢n        : & Call :verify dire
set /p n=- N£mero           : &    Call :verify n
set /p c=- Compras Recientes: &    Call :verify c
set /p t=- Talla            : &    Call :verify t
set /p s=- Sexo             : &    Call :verify s
echo Cliente   : %name%>>%homedrive%\clientes.txt
echo Direcci¢n : %dire%>>%homedrive%\clientes.txt
echo N£mero    : %n%>>%homedrive%\clientes.txt
echo Compras   : %c%>>%homedrive%\clientes.txt
echo Talla     : %t%>>%homedrive%\clientes.txt
echo Sexo      : %s%>>%homedrive%\clientes.txt
echo -------------------------------------------------;>>%homedrive%\clientes.txt
echo Generado Correctamente.
echo+
pause
goto :menu


:verify
if not defined %1 (
set %1=Ninguno
goto :eof
) ELSE (
goto :eof
)


:############################################################


REM no te recomiendo usar setlocal si hay productos o datos que contengan caracteres especiales como "Nike!" ...pues no los vas a encontrar xD

REM en el metodo de buscqueda no he podido hacer nada mejor, habria sido fácil usando tail y txtback porque cada cliente esta separado en 7 líneas, pero bueno, no me he kerido comer más el coco  :xD

:b
cls
echo+
set /p bo=- ¨Que desea buscar dentro de la Base de datos?:

find "%bo%" "%homedrive%\clientes.txt" >nul
If %errorlevel% equ 0 (
find "%bo%" "%homedrive%\clientes.txt"
echo+
pause
goto :menu
) ELSE (
echo+
echo No se ha encontrado ninguna coincidencia, Intentelo de nuevo...
echo+
pause
goto :menu
)



Goto :menu


:############################################################


REM Ahora el código reconoce varias respuestas (si,SI,Si,sI,sí,Sí - No,no,NO,nO) en cambio tu código solo reconocia dos (Aunque no te lo parezca así era).

:dl


cls
echo.
echo  Se borrar... la base de datos, ¨Est... seguro?  Si/No
echo  Se perder...n todos los datos guardados...
set /p de=^>^>

echo %de%| findstr /I "^S.$" >nul
If %errorlevel% equ 0 (goto :del)

echo %de%| findstr /I "^NO$" >nul
If %errorlevel% equ 0 (goto :menu)

Goto :menu

:############################################################

REM Mas vale prevenir que curar, Los HDD's a veces se estropean, mejor nos aseguramos de que la lista se borre de verdad xD

:del

cls
echo+
echo  Borrando...
ping -n 2 localhost >nul

del /q /f "%homedrive%\clientes.txt" >nul 2>&1
IF %ERRORLEVEL% EQU 0 (
       echo Eliminado.
echo+
       pause
       goto :menu
) ELSE (
       cls        
       echo No se pudo borrar la lista.
echo+
       pause
goto :checkeo
)


:############################################################

REM Y esta parte me la invento xD


:checkeo
cls
echo  ¨Quiere iniciar un escaneo de errorer de su disco duro? Si/No
echo  Se reiniciar... el Pc...
set /p CHECK=^>^>

echo %CHECK%| findstr /I "^S.$" >nul
If %errorlevel% equ 0 (
            echo S | chkdsk %homedrive% /F /R /X >nul
            shutdown -r -t 10
)


echo %CHECK%| findstr /I "^NO$" >nul
If %errorlevel% equ 0 (goto :menu)

Goto :menu


:############################################################

REM En el antiguo código, Sí la lista es demasiado larga no se mostraría entera... Queda corregido por si acaso.

:x
cls
echo.
type "%homedrive%\clientes.txt" | More /E /C
echo+
pause
goto :menu


Me Gusto el code y si acerca de resetear la variables $edu$ me lo enseño para mi Codificador...
Se me olvido hacerlo y tambien el if nod defined...
pero no entendi la parte de tu codigo chequear disco duro ?
#135
Bueenisimo Aporte.... Bravo....
#136
Hola amigos gracias a esta comu pude desarrollar mi primera Base de datos en Batch...

Como funciona:

El batch consta en 4 opciones.
las cuales te permiten realizar :

1.- Agregar Cliente
2.- Buscar dentro de la Base de datos
3.- Mostrar el contenido de la Base de datos
4.- Borrar Base de datos


Al agregar un cliente se guarda en un txt llamado Cliente guardado en %Homedrive%. Bueno sin mas charla el codigo

Código (dos) [Seleccionar]

@echo off
title Base de datos Clientes
color fc
:menu
cls
echo.&&echo.
echo  1.- Agregar Cliente
echo  2.- Buscar dentro de la Base de datos
echo  3.- Mostrar el contenido de la Base de datos
echo  4.- Borrar Base de datos
echo.
set /p o= Elija una opcion :
if not defined o goto menu
if %o%==1 (goto add)
if %o%==2 (goto b)
if %o%==3 (goto x)
if %o%==4 (goto dl) else (goto menu)

:add
cls
set /p name= Nombre de cliente =
set /p dire= Direccion         =
set /p n= Numero               =
set /p c= Compras Recientes    =
set /p t= Talla                =
set /p s= Sexo                 =
echo Cliente    :%name%>>%homedrive%\clientes.txt
echo Direccion  :%dire%>>%homedrive%\clientes.txt
echo Numero     :%n%>>%homedrive%\clientes.txt
echo Compras    :%c%>>%homedrive%\clientes.txt
echo Talla      :%t%>>%homedrive%\clientes.txt
echo Sexo       :%s%>>%homedrive%\clientes.txt
echo ------------------------------------------------->>%homedrive%\clientes.txt
echo Generado Correctamente
pause
goto menu

:b
cls
set /p bo= Que desea buscar dentro de la Base de datos :
setlocal enabledelayedexpansion
for /f "tokens=*" %%_ in ('find "%bo%" "%homedrive%\clientes.txt" ') do (
   set "valor=%%_"
   echo El valor es : !valor!
)
pause
goto menu

:dl
cls
echo.
echo Se borrara la base de datos esta seguro si/no
echo Se perderan todo los datos guardados
set /p de=^>^>
if %de%==si (goto del) else (goto menu)
if %de%==no (goto menu)

:del
cls
echo Borrando...
ping -n 2 0.0.0.0>nul
del /q /f %homedrive%\clientes.txt
echo Eliminado
pause
goto menu

:x
cls
echo.
type %homedrive%\clientes.txt
pause
goto menu



Si encuentran un error o una mejora, Bienvenido sea...

#137
Scripting / Re: [BATCH]Ayuda Base de Datos
4 Noviembre 2011, 20:40 PM
Muchas Gracias Amigos Tema Solucionado....
#138
Scripting / Re: [BATCH]Ayuda Base de Datos
29 Octubre 2011, 16:48 PM
Cita de: Leo Gutiérrez. en 29 Octubre 2011, 06:47 AM
Código (bash) [Seleccionar]
type "clientes.txt" | findstr "^cliente"
Código (bash) [Seleccionar]
type "clientes.txt" | find "clientes"

Me Podrias explicar el primer code por que lleva ^ ?
Otra Cosa Leo Como lo ago para Almacenar lo encontrado en una variable???
#139
Scripting / Re: Batch + Diskettera = Música
29 Octubre 2011, 04:34 AM
Man En Mi Escuela, Son computadores Fiscales y si yo presiono repetidamente el shift muchas veces, Me Aparece una ventana sin tocar nada presiono enter y luego presiono shift y suena un Beep si lo presiono denuevo suena denuevo y asi hasta que para de sonar, para volverr a escuchar ese ruido se repite todo denuevo.

PD: En mi computador no funciona
#140
Scripting / Re: Batch + Diskettera = Música
29 Octubre 2011, 03:46 AM
Podrias generar un bucle...
pero el problema es lo que te pregunta reintentar/cancelar

Código (dos) [Seleccionar]
@echo off
:bucle
cd A:\
goto bucle